---
swagger: "2.0"
info:
  version: "3"
  title: "swagger digiposte api"
host: "api.digiposte.fr"
tags:
- name: "Publishers"
- name: "account"
- name: "approval"
- name: "archive"
- name: "avatar"
- name: "cgu"
- name: "collect"
- name: "contact"
- name: "contact_share"
- name: "contacts"
- name: "credentials"
- name: "customizationurl"
- name: "dashboard"
- name: "device"
- name: "devices"
- name: "document"
- name: "documents"
- name: "documentsecured"
- name: "download"
- name: "file_tree"
- name: "folder"
- name: "folders"
- name: "good"
- name: "goods"
- name: "health"
- name: "healths"
- name: "housing"
- name: "housings"
- name: "i18n"
- name: "idn"
- name: "inscription"
- name: "job"
- name: "jobs"
- name: "jwtdocument"
- name: "legator"
- name: "legators"
- name: "membership"
- name: "membershipId"
- name: "memberships"
- name: "notification"
- name: "notifications"
- name: "offers"
- name: "onboardings"
- name: "partner"
- name: "partner_procedure"
- name: "partner_procedures"
- name: "partners"
- name: "procedure"
- name: "procedure_user"
- name: "procedures"
- name: "profile"
- name: "profile_actions"
- name: "profile_documents"
- name: "profile_nature"
- name: "profile_notification"
- name: "reminder"
- name: "reminders"
- name: "routage"
- name: "sender"
- name: "senders"
- name: "share"
- name: "share_views"
- name: "shares"
- name: "sign"
- name: "supporting"
- name: "timeline"
- name: "token_info"
- name: "trusted_contact"
- name: "trusted_contacts"
- name: "user"
- name: "user_consent"
- name: "user_mail"
- name: "user_security"
schemes:
- "https"
paths:
  /publishers:
    get:
      tags:
      - "Publishers"
      summary: "Get list of publishers under authenticated partner's publisher"
      description: ""
      operation_id: "getPublishers"
      produces:
      - "application/json"
      parameters:
      - name: "parent_publisher_id"
        in: "query"
        description: "Parent publisher PID to filter publishers (optional). If provided,\
          \ only publishers with this publisher as direct parent will be returned."
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/PublisherSimplified"
        401:
          description: "User is not authenticated"
        403:
          description: "User does not have required permissions"
    post:
      tags:
      - "Publishers"
      summary: "Create a new publisher"
      description: ""
      operation_id: "createPublisher"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "publisher_id"
        description: "Publisher PID"
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "legal_name"
        description: "Legal name"
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "siren_siret"
        description: "Siren/Siret"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "parent_publisher_id"
        description: "Parent publisher PID"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "vat_number"
        description: "VAT number"
        required: false
        schema:
          type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /publishers/{publisher_id}:
    put:
      tags:
      - "Publishers"
      summary: "Update a publisher"
      description: ""
      operation_id: "updatePublisher"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - name: "publisher_id"
        in: "path"
        description: "Publisher PID"
        required: true
        type: "string"
      - in: "body"
        name: "legal_name"
        description: "Legal name"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "siren_siret"
        description: "Siren/Siret"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "parent_publisher_id"
        description: "Parent publisher PID"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "vat_number"
        description: "VAT number"
        required: false
        schema:
          type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /account:
    post:
      tags:
      - "account"
      summary: "Create DGP account and/or add membership"
      description: ""
      operation_id: "createAccountOrAddMembership"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "account_input"
        description: "L'identifiant ccu de l'utilisateur et le code Regate (falcultatif)"
        required: false
        schema:
          $ref: "#/definitions/AccountInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Missing parameters"
        401:
          description: "Access denied"
        403:
          description: "You don't have the rights to access this resource"
  /account/ccu:
    post:
      tags:
      - "account"
      summary: "Create DGP account from CcuUserId. Used by invitation micro-service."
      description: ""
      operation_id: "createDgpAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "account_input"
        description: "L'identifiant ccu de l'utilisateur et le code Regate (falcultatif)"
        required: true
        schema:
          $ref: "#/definitions/AccountCreationInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Missing parameters"
        401:
          description: "Access denied"
        403:
          description: "You don't have the rights to access this resource"
  /approval:
    post:
      tags:
      - "approval"
      summary: "create approval"
      description: ""
      operation_id: "createApproval"
      consumes:
      - "application/json"
      - "text/json"
      produces:
      - "application/json"
      - "text/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/ApprovalInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /document:
    post:
      tags:
      - "archive"
      summary: "Upload a document"
      description: ""
      operation_id: "archive"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      - "text/json"
      parameters:
      - in: "body"
        name: "title"
        description: "The title of the document"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "tag"
        description: "The tag of the document. Can pass multiple tags separated by\
          \ | or , char"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "hash"
        description: "The hash value of the document content"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "algo"
        description: "The hash algorithm to check the hash"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "folder_id"
        description: "Folder ID where the document will be stored"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "favorite"
        description: "Favorite document ?"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "archive_size"
        description: "Size of the archive"
        required: false
        schema:
          type: "integer"
          format: "int64"
      - in: "body"
        name: "health_document"
        description: "Health document"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "nature_id"
        description: "Nature type of the document"
        required: false
        schema:
          type: "string"
          default: " "
      - name: "X-AuthorizeSender"
        in: "header"
        required: false
        type: "boolean"
        default: false
      - in: "body"
        name: "archive"
        description: "The file to archive"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "The archive size is invalid"
        413:
          description: "The document to upload is too large"
        409:
          description: "The document hash is wrong"
  /document/geo:
    post:
      tags:
      - "archive"
      summary: "Upload a document with latitude and longitude"
      description: ""
      operation_id: "geolocalizeArchive"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "title"
        description: "The title of the document"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "tag"
        description: "The tag of the document. Can pass multiple tags separated by\
          \ | or , char"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "hash"
        description: "The hash value of the document content"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "algo"
        description: "The hash algorithm to check the hash"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "timestamp"
        description: "The document timestamp"
        required: true
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "latitude"
        description: "The document latitude"
        required: true
        schema:
          type: "number"
          format: "double"
      - in: "body"
        name: "longitude"
        description: "The document longitude"
        required: true
        schema:
          type: "number"
          format: "double"
      - in: "body"
        name: "hdop"
        description: "The document hdop"
        required: true
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "folder_id"
        description: "Folder ID where the document will be stored"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "favorite"
        description: "Favorite document ?"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "archive_size"
        description: "Size of the archive"
        required: false
        schema:
          type: "integer"
          format: "int64"
      - in: "body"
        name: "health_document"
        description: "Health document"
        required: false
        schema:
          type: "boolean"
      - name: "X-AuthorizeSender"
        in: "header"
        required: false
        type: "boolean"
        default: false
      - in: "body"
        name: "archive"
        description: "The file to archive"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "The archive size is invalid"
        413:
          description: "The document to upload is too large"
        409:
          description: "The document to upload is empty"
  /document/certified:
    post:
      tags:
      - "archive"
      summary: "Upload a certified document"
      description: ""
      operation_id: "certifiedArchive_3_1"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "title"
        description: "The title of the document."
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "subtitle"
        description: "The subtitle of the document"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "summary"
        description: "The summary of the document"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "tag"
        description: "The tag of the document. Can pass multiple tags separated by\
          \ | or , char"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "hash"
        description: "The hash value of the document content."
        required: true
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "algo"
        description: "The hash algorithm to check the hash."
        required: true
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "location"
        description: "The location (inbox, classeur...)"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "type"
        description: "The type (facture, ...)"
        required: true
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "folder_id"
        description: "Folder ID where the document will be stored"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "favorite"
        description: "Favorite document ?"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "archive_size"
        description: "Size of the archive"
        required: false
        schema:
          type: "integer"
          format: "int64"
      - in: "body"
        name: "archive"
        description: "The file to archive"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "The archive size is invalid"
        413:
          description: "The document to upload is too large"
        409:
          description: "The document to upload is empty"
  /document/merge:
    post:
      tags:
      - "archive"
      summary: "Generates a PDF from given files and stores it in the safe"
      description: ""
      operation_id: "generatePdf"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "title"
        description: "The title of the document"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tag"
        description: "The tag of the document. Can pass multiple tags separated by\
          \ | or , char"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "folder_id"
        description: "Folder ID where the document will be stored"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "favorite"
        description: "Favorite document ?"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "archive_size"
        description: "Size of the archive"
        required: false
        schema:
          type: "integer"
          format: "int64"
      - in: "body"
        name: "health_document"
        description: "Health document"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "nature_id"
        description: "Document nature"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "archives"
        description: "The files to use to generate the PDF document"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "The archive size is invalid"
        413:
          description: "The total size of the files to merge is too large"
        409:
          description: "Not enough space left on the user strongbox"
  /document/merge/geo:
    post:
      tags:
      - "archive"
      summary: "Generates a PDF from given files and stores it in the safe"
      description: ""
      operation_id: "generatePdfGeo"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "title"
        description: "The title of the document"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tag"
        description: "The tag of the document. Can pass multiple tags separated by\
          \ | or , char"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "timestamp"
        description: "The document timestamp"
        required: true
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "latitude"
        description: "The document latitude"
        required: true
        schema:
          type: "number"
          format: "double"
      - in: "body"
        name: "longitude"
        description: "The document longitude"
        required: true
        schema:
          type: "number"
          format: "double"
      - in: "body"
        name: "hdop"
        description: "The document hdop"
        required: true
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "folder_id"
        description: "Folder ID where the document will be stored"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "favorite"
        description: "Favorite document ?"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "archive_size"
        description: "Size of the archive"
        required: false
        schema:
          type: "integer"
          format: "int64"
      - in: "body"
        name: "health_document"
        description: "Health document"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "archives"
        description: "The files to use to generate the PDF document"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "The archive size is invalid"
        413:
          description: "The total size of the files to merge is too large"
        409:
          description: "Not enough space left on the user strongbox"
  /profile/avatar:
    get:
      tags:
      - "avatar"
      summary: "get user avatar"
      description: ""
      operation_id: "getAvatar"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "the user don't have a avatar"
    post:
      tags:
      - "avatar"
      summary: "change user avatar"
      description: ""
      operation_id: "postAvatar"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "avatar"
        description: "The avatar to upload"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Upload OK"
    delete:
      tags:
      - "avatar"
      summary: "delete avatar"
      description: ""
      operation_id: "deleteAvatar"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Avatar has been deleted."
  /cgu:
    get:
      tags:
      - "cgu"
      summary: "Returns the CGU url and version"
      description: ""
      operation_id: "getCGU"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CGUDto"
  /collect/{transactionId}:
    get:
      tags:
      - "collect"
      summary: "Return collect status from fiducéo"
      description: ""
      operation_id: "getCollectStatus"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "transactionId"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipCollectStatus"
      deprecated: true
  /collect/{transactionId}/2fa:
    post:
      tags:
      - "collect"
      summary: "Send the 2FA code to fiducéo or powens"
      description: ""
      operation_id: "sendCollectTwoFaCode"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "transactionId"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/TwoFaInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /contact/{id}/picture:
    get:
      tags:
      - "contact"
      summary: "get itemContact picture"
      description: ""
      operation_id: "getAvatar"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
    post:
      tags:
      - "contact"
      summary: "change member picture"
      description: ""
      operation_id: "postAvatar"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - in: "body"
        name: "picture"
        description: "The picture to upload"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Upload OK"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
    delete:
      tags:
      - "contact"
      summary: "delete picture"
      description: ""
      operation_id: "deleteAvatar"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Photo has been deleted."
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
  /contact/{id}/document/{document_id}:
    delete:
      tags:
      - "contact"
      summary: "Supprime la reference du document associés au membre"
      description: ""
      operation_id: "deleteDocument"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "the id of the document"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Forbidden"
        404:
          description: "Document not found"
  /contact/{id}/call_again_invitation:
    post:
      tags:
      - "contact"
      summary: "Re-send mail invitation to contact member for the current user"
      description: ""
      operation_id: "sendEmailAgain"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Your account cannot access to this resource. "
        404:
          description: "Member not found"
  /contact/{id}/answer_invitation:
    post:
      tags:
      - "contact"
      summary: "accept invitation"
      description: ""
      operation_id: "acceptInvitation"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - in: "body"
        name: "accepted"
        description: "accept invitation ?"
        required: true
        schema:
          $ref: "#/definitions/ContactInvitationData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Contact not found"
        409:
          description: "user can't answer his own invitation"
  /contact/{id}/documents:
    get:
      tags:
      - "contact"
      summary: "Renvoit la liste des documents associés au membre"
      description: ""
      operation_id: "getAllDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
  /contact/{id}/procedure:
    post:
      tags:
      - "contact"
      summary: "Ajoute une procedures associés au membre"
      description: ""
      operation_id: "addProcedure"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - in: "body"
        name: "user_procedure_id"
        description: "the id of the procedure"
        required: true
        schema:
          $ref: "#/definitions/UserProcedureIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Forbidden"
        404:
          description: "Procedure not found"
  /contact/{id}/procedure/{user_procedure_id}:
    delete:
      tags:
      - "contact"
      summary: "Retire une procedures associés au membre"
      description: ""
      operation_id: "deleteProcedure"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - name: "user_procedure_id"
        in: "path"
        description: "the id of the procedure"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Forbidden"
        404:
          description: "Procedure not found"
  /contact/{id}/timeline:
    get:
      tags:
      - "contact"
      summary: "Retrieve the timeline of a Contact member"
      description: ""
      operation_id: "getContactEvents"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "since_id"
        in: "query"
        description: "The returned items should be created after the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "max_id"
        in: "query"
        description: "The returned items should be created before the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "type"
        in: "query"
        description: "The type of the returned items"
        required: false
        type: "string"
      - name: "status"
        in: "query"
        description: "Status of timeline events"
        required: false
        type: "string"
        enum:
        - "ARCHIVED"
        - "NOT_ARCHIVED"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /contact/{id}/procedures:
    get:
      tags:
      - "contact"
      summary: "Renvoit la liste d'id des procedures associés au membre"
      description: ""
      operation_id: "getProcedures"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
  /contact:
    post:
      tags:
      - "contact"
      summary: "Add a contact member for the current user"
      description: ""
      operation_id: "add"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Add contact member to current user's contact universe"
        required: true
        schema:
          $ref: "#/definitions/ContactInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ContactData"
        409:
          description: "the given email is already used for another relationship"
  /contact/{id}:
    get:
      tags:
      - "contact"
      summary: "Get a contact member"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ContactData"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
    put:
      tags:
      - "contact"
      summary: "Update a contact member for the current user"
      description: ""
      operation_id: "update"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Add contact member to current user's contact universe"
        required: true
        schema:
          $ref: "#/definitions/ContactInput"
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ContactData"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
    delete:
      tags:
      - "contact"
      summary: "delete a contact member"
      description: ""
      operation_id: "delete"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ContactData"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
  /contact/{id}/document:
    post:
      tags:
      - "contact"
      summary: "Ajoute un document au membre courant"
      description: ""
      operation_id: "addDocument"
      consumes:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "The ID of the contact member"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "the id of the document"
        required: true
        schema:
          $ref: "#/definitions/DocumentIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Forbidden"
        404:
          description: "Member not found"
        409:
          description: "the given document id has been already added"
  /contact/{id}/share/documents:
    get:
      tags:
      - "contact_share"
      summary: "get all shared documents"
      description: ""
      operation_id: "findAllSharedDocuments"
      parameters:
      - name: "id"
        in: "path"
        description: "Identifiant du contact"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "User not allowed to get documents from share"
        404:
          description: "share not found"
    post:
      tags:
      - "contact_share"
      summary: "add documents to share"
      description: ""
      operation_id: "addDocumentsToShare"
      parameters:
      - name: "id"
        in: "path"
        description: "Identifiant du contact"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Les ids des documents à mettre dans le partage"
        required: true
        schema:
          $ref: "#/definitions/IdSet"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Document list is emtpty"
        403:
          description: "User not allowed to add documents to share"
        404:
          description: "share not found"
        409:
          description: "Document(s) already exist"
    delete:
      tags:
      - "contact_share"
      summary: "delete documents from share"
      description: ""
      operation_id: "deleteDocumentsFromShare"
      parameters:
      - name: "id"
        in: "path"
        description: "Identifiant du contact"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Les ids des documents à mettre dans le partage"
        required: true
        schema:
          $ref: "#/definitions/IdSet"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Document(s) has been deleted from share"
        403:
          description: "User not allowed to delete documents from share"
        404:
          description: "Share not found"
  /contact/{id}/share/documents/copy:
    post:
      tags:
      - "contact_share"
      summary: "Save shared documents"
      description: ""
      operation_id: "saveDocumentsToLocalStrongBox"
      parameters:
      - name: "id"
        in: "path"
        description: "Identifiant du contact"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/ContactShareCopy"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        403:
          description: "User not allowed to access to document"
  /contact/{id}/share/content:
    get:
      tags:
      - "contact_share"
      summary: "Returns the document content"
      description: ""
      operation_id: "content"
      parameters:
      - name: "id"
        in: "path"
        description: "Identifiant du contact"
        required: true
        type: "string"
      - name: "document_id"
        in: "query"
        description: "Identifiant du document à télécharger"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "User not allowed to get documents from share"
        404:
          description: "share not found"
        409:
          description: "Document(s) is not share"
  /contacts:
    get:
      tags:
      - "contacts"
      summary: "return all contact of the current user"
      description: ""
      operation_id: "getAll"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /credentials/question/matches:
    put:
      tags:
      - "credentials"
      summary: "Verify that the given answer matches the user secret question"
      description: ""
      operation_id: "postSecretQuestionAndAnswer"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The new secret question"
        required: false
        schema:
          $ref: "#/definitions/UserCredentialsQuestion"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        409:
          description: "the given answer matches the user secret question"
  /credentials/{login}/question/matches:
    put:
      tags:
      - "credentials"
      summary: "Verify that the given answer matches the user secret question"
      description: ""
      operation_id: "checkUserSecretQuestionAndAnswer"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The new secret question"
        required: true
        schema:
          $ref: "#/definitions/UserCredentialsQuestion"
      - name: "login"
        in: "path"
        description: "The user's login"
        required: true
        type: "string"
      - name: "uri"
        in: "query"
        description: "The URI of reset link"
        required: false
        type: "string"
      - name: "ccu"
        in: "query"
        required: false
        type: "boolean"
      - name: "type"
        in: "query"
        required: false
        type: "string"
        enum:
        - "PERSON"
        - "COMPANY"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Invalid request parameters"
        409:
          description: "the given answer matches the user secret question"
  /credentials/{email}/email_reset_credentials:
    put:
      tags:
      - "credentials"
      summary: "Send email to reset credentials"
      description: ""
      operation_id: "putEmailResetCredentials"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "email"
        in: "path"
        required: true
        type: "string"
      - name: "ccu"
        in: "query"
        required: false
        type: "boolean"
      - name: "type"
        in: "query"
        required: false
        type: "string"
      - name: "rc"
        in: "query"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /credentials/question:
    get:
      tags:
      - "credentials"
      summary: "Returns the user secret question"
      description: ""
      operation_id: "getSecretQuestion"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserCredentialsQuestion"
    put:
      tags:
      - "credentials"
      summary: "Updates the user secret question"
      description: ""
      operation_id: "putSecretQuestion"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The new secret question"
        required: false
        schema:
          $ref: "#/definitions/UserCredentialsQuestion"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Invalid request parameters"
  /credentials/secret_question:
    get:
      tags:
      - "credentials"
      summary: "search if the user have a secret question defined"
      description: ""
      operation_id: "findSecretQuestionForPinpad"
      produces:
      - "application/json"
      parameters:
      - name: "login"
        in: "query"
        required: true
        type: "string"
      - name: "email"
        in: "query"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserSecretQuestionSigned"
        404:
          description: "This login or email are invalid"
  /credentials/{email}/logins:
    get:
      tags:
      - "credentials"
      summary: "Return login list available for given email"
      description: ""
      operation_id: "getLoginList"
      produces:
      - "application/json"
      parameters:
      - name: "email"
        in: "path"
        required: true
        type: "string"
      - name: "uri"
        in: "query"
        required: false
        type: "string"
      - name: "mail_valid"
        in: "query"
        required: false
        type: "boolean"
      - name: "ccu_linked"
        in: "query"
        required: false
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/StringList"
  /credentials/{login}/{email}/question:
    get:
      tags:
      - "credentials"
      summary: "Returns the user secret question"
      description: ""
      operation_id: "getSecretQuestionWithLoginAndEmail"
      produces:
      - "application/json"
      parameters:
      - name: "login"
        in: "path"
        required: true
        type: "string"
      - name: "email"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserCredentialsQuestion"
        404:
          description: "Cannot find user"
  /credentials/{login}/question:
    get:
      tags:
      - "credentials"
      summary: "Returns the user secret question"
      description: ""
      operation_id: "getSecretQuestionWithLogin"
      produces:
      - "application/json"
      parameters:
      - name: "login"
        in: "path"
        required: true
        type: "string"
      - name: "ccu"
        in: "query"
        required: false
        type: "boolean"
      - name: "type"
        in: "query"
        required: false
        type: "string"
        enum:
        - "PERSON"
        - "COMPANY"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserCredentialsQuestion"
        404:
          description: "Cannot find user"
        409:
          description: "Given parameters and user state did not match"
  /credentials/questions:
    get:
      tags:
      - "credentials"
      summary: "Returns the user secret question"
      description: ""
      operation_id: "getSecretQuestions"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CredentialsQuestions"
  /credentials/password/matches:
    post:
      tags:
      - "credentials"
      summary: "Verify that the given password is correct"
      description: ""
      operation_id: "postPasswordVerification"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The password to verify"
        required: true
        schema:
          $ref: "#/definitions/PasswordToVerifyData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        409:
          description: "the given password is incorrect"
  /credentials/raw_password/matches:
    post:
      tags:
      - "credentials"
      summary: "Verify that the given password is correct"
      description: ""
      operation_id: "postRawPasswordVerification"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The password to verify"
        required: true
        schema:
          $ref: "#/definitions/RawPasswordToVerifyData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        409:
          description: "the given password is incorrect"
  /credentials/password:
    put:
      tags:
      - "credentials"
      summary: "Updates the password"
      description: ""
      operation_id: "putNewPassword"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The old password, and the new password"
        required: true
        schema:
          $ref: "#/definitions/PasswordUpdateData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        412:
          description: "the old password is incorrect"
  /credentials/raw_password:
    put:
      tags:
      - "credentials"
      summary: "Updates the password"
      description: ""
      operation_id: "putNewRawPassword"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The old password, and the new password"
        required: true
        schema:
          $ref: "#/definitions/RawPasswordUpdateData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "The new password is too leak"
        412:
          description: "the old password is incorrect"
  /credentials/password/reset:
    put:
      tags:
      - "credentials"
      summary: "Reset the password"
      description: ""
      operation_id: "putResetPassword"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The validation link, and the new password"
        required: false
        schema:
          $ref: "#/definitions/PasswordResetData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        412:
          description: "The password is too weak"
        408:
          description: "The link is expired"
  /credentials/login/change:
    post:
      tags:
      - "credentials"
      summary: "Initialisation d'un changement de login"
      description: ""
      operation_id: "changeLogin"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The data for update login payload"
        required: true
        schema:
          $ref: "#/definitions/LoginChangeInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        409:
          description: "the given password is incorrect"
  /credentials/{code}/valid:
    get:
      tags:
      - "credentials"
      summary: "Validation d'un changement de login"
      description: ""
      operation_id: "checkValidationCode"
      produces:
      - "application/json"
      parameters:
      - name: "code"
        in: "path"
        description: "The validation code"
        required: true
        type: "string"
      - name: "token"
        in: "query"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/LoginChangeData"
        404:
          description: "There is no user associated to this code"
  /user/customizationurl/token/{token}:
    get:
      tags:
      - "customizationurl"
      summary: "Check the validity of the given token"
      description: ""
      operation_id: "checkUserTokenValidity"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "token"
        in: "path"
        description: "The token to check"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserOutput"
        400:
          description: "token is mandatory"
        403:
          description: "token expired"
        404:
          description: "token not found"
  /user/customizationurl:
    post:
      tags:
      - "customizationurl"
      summary: "create new token for user or renew them"
      description: ""
      operation_id: "createOrRenewCustomizationUrl"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/PartialAccountTypedInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CustomizationUrlOutput"
        400:
          description: "le user_id est manquant"
        403:
          description: "le partenaire n'est pas propriétaire du compte"
        404:
          description: "utilisateur non trouvé"
        409:
          description: "le compte a déjà été transformé"
  /dashboard:
    get:
      tags:
      - "dashboard"
      summary: "Returns the dashboard"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Dashboard"
  /device:
    post:
      tags:
      - "device"
      summary: "update user device"
      description: ""
      operation_id: "updateDeviceToken"
      consumes:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "the that will be created"
        required: true
        schema:
          $ref: "#/definitions/DeviceData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        201:
          description: "the new association was created"
        400:
          description: "Unknown device type or empty token"
        404:
          description: "Unknown device"
    delete:
      tags:
      - "device"
      summary: "delete user device"
      description: ""
      operation_id: "deleteDeviceToken"
      consumes:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "the device to delete"
        required: true
        schema:
          $ref: "#/definitions/DeviceData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        201:
          description: "the new association was deleted"
        400:
          description: "Unknown device type or empty token"
  /devices:
    get:
      tags:
      - "devices"
      summary: "get user devices"
      description: ""
      operation_id: "getDeviceTokens"
      consumes:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /document/{document_id}/with_shares:
    get:
      tags:
      - "document"
      summary: "Returns the document metadata with relative shares"
      description: ""
      operation_id: "getWithShares"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaDataWithShareData"
        404:
          description: "The document doesn't exist"
  /document/{document_id}/thumbnail:
    get:
      tags:
      - "document"
      summary: "Returns the document thumbnail"
      description: ""
      operation_id: "getJsonThumbnail"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The document doesn't exist"
  /document/{document_id}/content/2ddoc:
    get:
      tags:
      - "document"
      summary: "Returns the document content"
      description: ""
      operation_id: "content2ddoc"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document à télécharger"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The document doesn't exist"
  /document/{document_id}/verify:
    post:
      tags:
      - "document"
      summary: "Verify a document"
      description: ""
      operation_id: "verifyDocument"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /document/{document_id}/reminder:
    post:
      tags:
      - "document"
      summary: "Create a reminder on a document"
      description: ""
      operation_id: "createReminder"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      - in: "body"
        name: "body"
        description: "Title and date of reminder that will be created"
        required: true
        schema:
          $ref: "#/definitions/ReminderInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "Title or date are invalids"
        500:
          description: "Internal error"
        404:
          description: "document not found"
  /document/{document_id}/certificate:
    get:
      tags:
      - "document"
      summary: "get document certificate"
      description: ""
      operation_id: "getDocumentCertificate"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /document/{document_id}/tags/{tags}:
    put:
      tags:
      - "document"
      summary: "Update tags of the document, the old tags will be overriden"
      description: ""
      operation_id: "updateDocumentTags"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        required: true
        type: "string"
        pattern: ".{32}"
      - name: "tags"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "Tags are not properly formatted"
        404:
          description: "The document doesn't exists"
  /document/{document_id}/read_status/{read_status}:
    put:
      tags:
      - "document"
      summary: "Update the read status of the document"
      description: ""
      operation_id: "setReadStatus"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        required: true
        type: "string"
        pattern: ".{32}"
      - name: "read_status"
        in: "path"
        required: true
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        404:
          description: "The document doesn't exists"
  /document/{document_id}/favorite_status/{favorite_status}:
    put:
      tags:
      - "document"
      summary: "Update the read status of the document"
      description: ""
      operation_id: "setFavoriteStatus"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        required: true
        type: "string"
        pattern: ".{32}"
      - name: "favorite_status"
        in: "path"
        required: true
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        404:
          description: "The document doesn't exists"
        409:
          description: "The document to mark as read/unread must not be already in\
            \ this state"
  /document/{document_id}/reminders:
    get:
      tags:
      - "document"
      summary: "Get list of reminders of a document"
      description: ""
      operation_id: "getRemindersList"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ReminderDataList"
        500:
          description: "Internal error"
        404:
          description: "Reminders not found"
  /document/{document_id}:
    get:
      tags:
      - "document"
      summary: "Returns the document metadata"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        404:
          description: "The document doesn't exist"
    delete:
      tags:
      - "document"
      summary: "Delete a document in trash"
      description: ""
      operation_id: "delete"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The document doesn't exist"
        409:
          description: "The document to delete must be in trash"
  /document/{document_id}/rename/{new_name}:
    put:
      tags:
      - "document"
      summary: "Rename the document"
      description: ""
      operation_id: "rename"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        required: true
        type: "string"
        pattern: ".{32}"
      - name: "new_name"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        404:
          description: "The document doesn't exists"
        409:
          description: "Certified document cannot be renamed"
  /document/{document_id}/content:
    get:
      tags:
      - "document"
      summary: "Returns the document content"
      description: ""
      operation_id: "content"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        description: "Identifiant du document à télécharger"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The document doesn't exist"
  /document/{document_id}/classify:
    put:
      tags:
      - "document"
      summary: "Classify the document"
      description: ""
      operation_id: "classify"
      produces:
      - "application/json"
      parameters:
      - name: "document_id"
        in: "path"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        404:
          description: "The document doesn't exists"
        409:
          description: "The document to classify must be in inbox"
  /documents/multiReadStatus/{read_status}:
    post:
      tags:
      - "documents"
      summary: "Update the read status of multiple documents at once"
      description: ""
      operation_id: "updateDocumentsReadStatus"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The document ids to trash"
        required: true
        schema:
          $ref: "#/definitions/IdSet"
      - name: "read_status"
        in: "path"
        required: true
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "You do not have the permission on some of these documents"
        404:
          description: "At least one of the documents to update the read status could\
            \ not be found"
        409:
          description: "Can't update the read status of so many documents in a single\
            \ request"
  /documents/userTags:
    get:
      tags:
      - "documents"
      summary: "Returns documents userTags of the user"
      description: ""
      operation_id: "getUserTags"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TagsFacet"
  /documents:
    get:
      tags:
      - "documents"
      summary: "Returns all user's documents"
      description: ""
      operation_id: "listAll"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "sort"
        in: "query"
        description: "The field on which you want to sort the results"
        required: false
        type: "string"
        enum:
        - "TYPE"
        - "TITLE"
        - "FILENAME"
        - "AUTHOR_NAME"
        - "CREATION_DATE"
        - "WAS_READ"
        - "LOCATION"
        - "IS_SHARED"
        - "SIZE"
        - "DIGISHOOT"
        - "CHARGEABLE_AMOUNT"
      - name: "direction"
        in: "query"
        description: "The direction in which you want to sort the results, for the\
          \ given field"
        required: false
        type: "string"
        enum:
        - "ASCENDING"
        - "DESCENDING"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination values provided"
    post:
      tags:
      - "documents"
      summary: "Returns a map < key = docId, value= metadata >"
      description: ""
      operation_id: "postEnrollmentDocumentsIds"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/IdSet"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "bad request"
        404:
          description: "document not found"
  /documents/senders/{sender_id}/shares/{partner_user_id}:
    get:
      tags:
      - "documents"
      summary: "Returns metadata of documents included in sender share (handled by\
        \ microservice share) identified by senderId and partnerUserId"
      description: ""
      operation_id: "listShareDocumentsMetaDataForUser"
      produces:
      - "application/json"
      parameters:
      - name: "sender_id"
        in: "path"
        required: true
        type: "string"
      - name: "partner_user_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SharedDocumentOutput"
        400:
          description: "Bad request"
  /documents/shares/{partner_user_id}:
    get:
      tags:
      - "documents"
      summary: "Returns metadata of documents included in sender share (handled by\
        \ microservice share) identified by senderId and partnerUserId"
      description: ""
      operation_id: "listShareDocumentsMetaDataForPartner"
      produces:
      - "application/json"
      parameters:
      - name: "partner_user_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SharedDocumentOutput"
        400:
          description: "Bad request"
    post:
      tags:
      - "documents"
      summary: "Returns metadata of documents included in sender share (handled by\
        \ microservice share) identified by senderId and partnerUserId"
      description: ""
      operation_id: "listMetaDataForProvidedDocumentsInSenderShare"
      produces:
      - "application/json"
      parameters:
      - name: "partner_user_id"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/DocumentIdsInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SharedDocumentOutput"
        400:
          description: "Bad request"
  /documents/senders/{sender_id}/shares/{partner_user_id}/all:
    get:
      tags:
      - "documents"
      summary: "Returns the metadata of all documents, including those contained in\
        \ folders (handled by microservice share) identified by senderId and partnerUserId."
      description: ""
      operation_id: "listAllShareDocumentsMetaDataForUser"
      produces:
      - "application/json"
      parameters:
      - name: "sender_id"
        in: "path"
        required: true
        type: "string"
      - name: "partner_user_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SharedDocumentOutput"
        400:
          description: "Bad request"
  /documents/metadata:
    post:
      tags:
      - "documents"
      summary: "Returns metadata of documents included in documents id array"
      description: ""
      operation_id: "listMetaDataForDocumentIds"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/DocumentIdsInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SharedDocumentOutput"
        400:
          description: "Bad request"
  /documents/safe:
    get:
      tags:
      - "documents"
      summary: "Returns all user's documents which are in the strongbox"
      description: ""
      operation_id: "listSafe"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "sort"
        in: "query"
        description: "The field on which you want to sort the results"
        required: false
        type: "string"
        enum:
        - "TYPE"
        - "TITLE"
        - "FILENAME"
        - "AUTHOR_NAME"
        - "CREATION_DATE"
        - "WAS_READ"
        - "LOCATION"
        - "IS_SHARED"
        - "SIZE"
        - "DIGISHOOT"
        - "CHARGEABLE_AMOUNT"
      - name: "direction"
        in: "query"
        description: "The direction in which you want to sort the results, for the\
          \ given field"
        required: false
        type: "string"
        enum:
        - "ASCENDING"
        - "DESCENDING"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination values provided"
  /documents/byNatures:
    post:
      tags:
      - "documents"
      summary: "Returns n-last documents for each given nature pid"
      description: ""
      operation_id: "getNLastDocumentsByNaturePids"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "input with list of couple (pid, wanted)"
        required: true
        schema:
          $ref: "#/definitions/DynamicProcedureInput"
      - name: "safeOnly"
        in: "query"
        description: "to look for documents only in safe and inbox"
        required: false
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
  /documents/inbox:
    get:
      tags:
      - "documents"
      summary: "Returns all user's documents which are in the mailbox"
      description: ""
      operation_id: "listInbox"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "sort"
        in: "query"
        description: "The field on which you want to sort the results"
        required: false
        type: "string"
        enum:
        - "TYPE"
        - "TITLE"
        - "FILENAME"
        - "AUTHOR_NAME"
        - "CREATION_DATE"
        - "WAS_READ"
        - "LOCATION"
        - "IS_SHARED"
        - "SIZE"
        - "DIGISHOOT"
        - "CHARGEABLE_AMOUNT"
      - name: "direction"
        in: "query"
        description: "The direction in which you want to sort the results, for the\
          \ given field"
        required: false
        type: "string"
        enum:
        - "ASCENDING"
        - "DESCENDING"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination values provided"
  /documents/trash:
    get:
      tags:
      - "documents"
      summary: "Returns all user's documents which are in the trash"
      description: ""
      operation_id: "listTrash"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "sort"
        in: "query"
        description: "The field on which you want to sort the results"
        required: false
        type: "string"
        enum:
        - "TYPE"
        - "TITLE"
        - "FILENAME"
        - "AUTHOR_NAME"
        - "CREATION_DATE"
        - "WAS_READ"
        - "LOCATION"
        - "IS_SHARED"
        - "SIZE"
        - "DIGISHOOT"
        - "CHARGEABLE_AMOUNT"
      - name: "direction"
        in: "query"
        description: "The direction in which you want to sort the results, for the\
          \ given field"
        required: false
        type: "string"
        enum:
        - "ASCENDING"
        - "DESCENDING"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination values provided"
  /documents/getMultiTag:
    post:
      tags:
      - "documents"
      summary: "Permits to retrieve the document tags (user tags) of multiple documents\
        \ in one request"
      description: ""
      operation_id: "getMultiTagData"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The document ids for which you want to retrieve the document\
          \ tags"
        required: true
        schema:
          $ref: "#/definitions/IdSet"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MultiTagData"
        403:
          description: "You do not have the permission on some of these documents"
        404:
          description: "At least one of the documents could not be found"
        409:
          description: "Can't get the tags of so many documents in a single request"
  /documents/multiTag:
    post:
      tags:
      - "documents"
      summary: "Tag multiple documents (user tags), with different tag values for\
        \ each"
      description: ""
      operation_id: "tagDocuments"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The new tags to set for the documents"
        required: true
        schema:
          $ref: "#/definitions/MultiTagData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "The payload or tags provided is invalid"
        403:
          description: "You do not have the permission on some of these documents"
        404:
          description: "At least one of the documents to tag could not be found"
        409:
          description: "Can't tag so many documents in a single request"
  /documents/choose:
    post:
      tags:
      - "documents"
      summary: "Returns all user's documents that match the search"
      description: ""
      operation_id: "chooserDocs"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The search criteria"
        required: true
        schema:
          $ref: "#/definitions/ChooseDocsCriteria"
      - name: "sort"
        in: "query"
        description: "The field on which you want to sort the results"
        required: false
        type: "string"
        enum:
        - "FILENAME"
        - "SIZE"
        - "CREATION_DATE"
      - name: "direction"
        in: "query"
        description: "The direction in which you want to sort the results, for the\
          \ given field"
        required: false
        type: "string"
        enum:
        - "ASCENDING"
        - "DESCENDING"
      - name: "use_finder_search"
        in: "query"
        description: "Use finder backend for research"
        required: false
        type: "boolean"
        default: false
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Nature PID is not a valid value."
  /documents/shares/{partnerUserId}/sharedFolders:
    get:
      tags:
      - "documents"
      summary: "Returns the folders tree"
      description: ""
      operation_id: "getSharedFolders"
      produces:
      - "application/json"
      parameters:
      - name: "partnerUserId"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/FolderTreeViewListWithRoot"
  /documents/shares/{shareId}/folders/{folderId}/documents:
    get:
      tags:
      - "documents"
      summary: "Returns the documents by folder id shared by sender"
      description: ""
      operation_id: "getDocumentsInFolderSharedBySender"
      produces:
      - "application/json"
      parameters:
      - name: "folderId"
        in: "path"
        required: true
        type: "string"
      - name: "shareId"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /documents/read:
    post:
      tags:
      - "documents"
      summary: "mark unread documents as read"
      description: ""
      operation_id: "read"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MarkedDocuments"
  /documents/copy:
    post:
      tags:
      - "documents"
      summary: "Copie les documents dans un répertoire du coffre."
      description: ""
      operation_id: "copy"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/DocumentsCopy"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        403:
          description: "User not allowed to access to document"
  /documents/search:
    post:
      tags:
      - "documents"
      summary: "Returns all user's documents that match the search"
      description: ""
      operation_id: "search"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The search criteria"
        required: true
        schema:
          $ref: "#/definitions/DocumentSearch"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "sort"
        in: "query"
        description: "The field on which you want to sort the results"
        required: false
        type: "string"
        enum:
        - "TYPE"
        - "TITLE"
        - "FILENAME"
        - "AUTHOR_NAME"
        - "CREATION_DATE"
        - "WAS_READ"
        - "LOCATION"
        - "IS_SHARED"
        - "SIZE"
        - "DIGISHOOT"
        - "CHARGEABLE_AMOUNT"
      - name: "direction"
        in: "query"
        description: "The direction in which you want to sort the results, for the\
          \ given field"
        required: false
        type: "string"
        enum:
        - "ASCENDING"
        - "DESCENDING"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad user"
        406:
          description: "Invalid search filter value for Location"
  /documents/facet:
    post:
      tags:
      - "documents"
      summary: "Returns documents facet that match the search"
      description: ""
      operation_id: "facet"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The search criteria"
        required: true
        schema:
          $ref: "#/definitions/DocumentSearch"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentsFacet"
        406:
          description: "Invalid search filter value for Location"
  /document/secured/download:
    post:
      tags:
      - "documentsecured"
      summary: "Secured document download"
      description: ""
      operation_id: "download"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Requête contenant l'identifiant du document"
        required: true
        schema:
          $ref: "#/definitions/DocumentDownloadRequest"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Invalid request body"
        403:
          description: "Access to document forbidden"
        404:
          description: "The document doesn't exist"
  /document/secured/download/2ddoc:
    post:
      tags:
      - "documentsecured"
      summary: "Secured 2D-DOC document download"
      description: ""
      operation_id: "download2ddoc"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Requête contenant l'identifiant du document"
        required: true
        schema:
          $ref: "#/definitions/DocumentDownloadRequest"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Invalid request body"
        403:
          description: "Access to document forbidden"
        404:
          description: "The document doesn't exist"
  /download/documents/info:
    get:
      tags:
      - "download"
      summary: "Returns size of all documents, indicates whether the safe contains\
        \ health document and whether download is allowed"
      description: ""
      operation_id: "getAllDocumentsInfo"
      consumes:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DownloadInfo"
  /download/procedure/{procedure_id}:
    get:
      tags:
      - "download"
      summary: "Save procedure's documents in a zip file"
      description: ""
      operation_id: "getProcedureArchive"
      parameters:
      - name: "procedure_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /download/partner/archives:
    post:
      tags:
      - "download"
      summary: "Start archive documents for partner users"
      description: ""
      operation_id: "postArchives"
      consumes:
      - "application/json"
      - "text/plain"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          type: "array"
          items:
            $ref: "#/definitions/PartnerOneClickDownloadRequest"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /download/documents:
    get:
      tags:
      - "download"
      summary: "Returns a zip file with all documents"
      description: ""
      operation_id: "getAllDocumentsArchive"
      consumes:
      - "application/json"
      produces:
      - "application/zip"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
    post:
      tags:
      - "download"
      summary: "Returns a zip file with all documents"
      description: ""
      operation_id: "getDocumentsArchive"
      consumes:
      - "application/json"
      produces:
      - "*/*"
      parameters:
      - in: "body"
        name: "body"
        description: "Add document to user procedure"
        required: true
        schema:
          $ref: "#/definitions/DownloadInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /download/archive:
    get:
      tags:
      - "download"
      summary: "Retrieve archive with all documents download"
      description: ""
      operation_id: "getArchive"
      parameters:
      - name: "partNumber"
        in: "query"
        description: "The number of archive part"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
    post:
      tags:
      - "download"
      summary: "Start archive with all documents creation"
      description: ""
      operation_id: "postArchive"
      consumes:
      - "application/json"
      - "text/plain"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/OneClickDownloadRequest"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
    delete:
      tags:
      - "download"
      summary: "Delete archive"
      description: ""
      operation_id: "deleteArchive"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /download/profile/documents:
    get:
      tags:
      - "download"
      summary: "Save profile's documents in a zip file"
      description: ""
      operation_id: "getProfileArchive"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /download/archive/status:
    get:
      tags:
      - "download"
      summary: "Retrieve archive with all documents download's link"
      description: ""
      operation_id: "getArchiveStatus"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /file/tree/trash:
    post:
      tags:
      - "file_tree"
      summary: "Move documents and folders to trash"
      description: ""
      operation_id: "moveToTrash"
      consumes:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Folders and documents identifiants"
        required: true
        schema:
          $ref: "#/definitions/FileTreeInput"
      - name: "check"
        in: "query"
        required: false
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TrashActionResponse"
        400:
          description: "Cannot trash because of wrong location"
        409:
          description: "Document or folder doesn't exist"
    delete:
      tags:
      - "file_tree"
      summary: "Delete all documents and folders in trash"
      description: ""
      operation_id: "deleteInTrash"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /file/tree/favorite/{favorite_status}:
    post:
      tags:
      - "file_tree"
      summary: "Update the favorite status of multiple documents at once"
      description: ""
      operation_id: "updateDocumentsFolderFavoriteStatus"
      consumes:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Folders and documents identifiants"
        required: true
        schema:
          $ref: "#/definitions/FileTreeInput"
      - name: "favorite_status"
        in: "path"
        required: true
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MarkedDocuments"
        403:
          description: "At least one document/folder is not owned by authenticated\
            \ user"
        404:
          description: "At least one of the documents/folders to update the favorite\
            \ status could not be found"
        409:
          description: "Can't update the favorite status of so many documents/folders\
            \ in a single request"
  /file/tree/trash/restore:
    post:
      tags:
      - "file_tree"
      summary: "Restore all documents and folders in trash"
      description: ""
      operation_id: "restoreInTrash"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /file/tree/undo/{action_id}:
    post:
      tags:
      - "file_tree"
      summary: "Undo last user action with documents or folders"
      description: ""
      operation_id: "undo"
      parameters:
      - name: "action_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Cannot undo action"
        409:
          description: "Cannot rename certified document"
  /file/tree/delete:
    post:
      tags:
      - "file_tree"
      summary: "Delete documents and folders"
      description: ""
      operation_id: "delete"
      consumes:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Folders and documents identifiants"
        required: true
        schema:
          $ref: "#/definitions/FileTreeInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Cannot restore because of wrong location"
  /file/tree/restore:
    post:
      tags:
      - "file_tree"
      summary: "Restore documents and folders"
      description: ""
      operation_id: "restore"
      consumes:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Folders and documents identifiants"
        required: true
        schema:
          $ref: "#/definitions/FileTreeInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Cannot restore because of wrong location"
  /file/tree/info:
    post:
      tags:
      - "file_tree"
      summary: "Returns documents and folders' size"
      description: ""
      operation_id: "info"
      consumes:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Folders and documents infos"
        required: true
        schema:
          $ref: "#/definitions/FileTreeInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FileTreeInfo"
  /file/tree/move:
    put:
      tags:
      - "file_tree"
      summary: "Move a set of folders and documents"
      description: ""
      operation_id: "move"
      consumes:
      - "application/json"
      parameters:
      - name: "to"
        in: "query"
        description: "The target folder"
        required: false
        type: "string"
      - in: "body"
        name: "body"
        description: "Folders and documents identifiants"
        required: true
        schema:
          $ref: "#/definitions/FileTreeInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Document or folder doesn't exist"
        409:
          description: "Cannot move a folder into its child folders or itself"
  /folder/{folder_id}/documents:
    get:
      tags:
      - "folder"
      summary: "Get folder / documents Tree"
      description: ""
      operation_id: "getFolderDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "sort"
        in: "query"
        description: "The field on which you want to sort the results"
        required: false
        type: "string"
        enum:
        - "TYPE"
        - "TITLE"
        - "FILENAME"
        - "AUTHOR_NAME"
        - "CREATION_DATE"
        - "WAS_READ"
        - "LOCATION"
        - "IS_SHARED"
        - "SIZE"
        - "DIGISHOOT"
        - "CHARGEABLE_AMOUNT"
      - name: "direction"
        in: "query"
        description: "The direction in which you want to sort the results, for the\
          \ given field"
        required: false
        type: "string"
        enum:
        - "ASCENDING"
        - "DESCENDING"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "At least one parameter is incorrect (sort, direction, max_results)"
        404:
          description: "Cannot find folder"
  /folder/{folder_id}/trash:
    put:
      tags:
      - "folder"
      summary: "Move the folder to trash"
      description: ""
      operation_id: "trash"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        required: true
        type: "string"
      - name: "check"
        in: "query"
        required: false
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaData"
        404:
          description: "Cannot find folder"
        409:
          description: "Folder already in trash"
  /folder/{folder_id}/rename:
    put:
      tags:
      - "folder"
      summary: "Rename folder"
      description: ""
      operation_id: "renameFolder"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        description: "Folder ID"
        required: true
        type: "string"
      - in: "body"
        name: "folder_id"
        description: "Folder ID"
        required: true
        schema:
          $ref: "#/definitions/FolderInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaData"
        400:
          description: "Bad input: incorrect new name"
        404:
          description: "Cannot find folder"
  /folder/{folder_id}/favorite_status/{favorite_status}:
    put:
      tags:
      - "folder"
      summary: "Set favorite status to folder"
      description: ""
      operation_id: "setFavoriteStatus"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        required: true
        type: "string"
      - name: "favorite_status"
        in: "path"
        required: true
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaData"
        404:
          description: "Cannot find folder"
  /folder/{folder_id}/rename/{new_name}:
    put:
      tags:
      - "folder"
      summary: "Rename folder name"
      description: ""
      operation_id: "rename_3_1"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        description: "Folder ID"
        required: true
        type: "string"
      - name: "new_name"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaData"
        400:
          description: "Bad input: incorrect new name"
        404:
          description: "Cannot find folder"
      deprecated: true
  /folder:
    post:
      tags:
      - "folder"
      summary: "Creates new folder"
      description: ""
      operation_id: "createFolder_3_1"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/FolderInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaData"
      deprecated: true
  /folder/{folder_id}:
    delete:
      tags:
      - "folder"
      summary: "Delete the folder"
      description: ""
      operation_id: "delete"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Cannot find folder"
        409:
          description: "Folder not in trash"
  /folder/{folder_id}/restore:
    put:
      tags:
      - "folder"
      summary: "Move the folder to safe"
      description: ""
      operation_id: "restore"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaData"
        404:
          description: "Cannot find folder"
        409:
          description: "Folder not in trash"
  /folder/{folder_id}/info:
    get:
      tags:
      - "folder"
      summary: "Returns folder's size"
      description: ""
      operation_id: "info"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FileTreeInfo"
        404:
          description: "Cannot find folder"
  /folder/{folder_id}/move:
    put:
      tags:
      - "folder"
      summary: "Move folder to another one"
      description: ""
      operation_id: "move"
      produces:
      - "application/json"
      parameters:
      - name: "folder_id"
        in: "path"
        required: true
        type: "string"
      - name: "to"
        in: "query"
        description: "The target folder"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaData"
        404:
          description: "Cannot find folder"
        409:
          description: "Cannot move a folder into its child folders or itself"
  /folders/trash:
    get:
      tags:
      - "folders"
      summary: "Returns the folders tree"
      description: ""
      operation_id: "getTrashFolders_3_1"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaDataList"
      deprecated: true
  /folders/favorite:
    get:
      tags:
      - "folders"
      summary: "Returns the favorite folders"
      description: ""
      operation_id: "getFavoriteFolders"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderMetaDataList"
  /folders:
    get:
      tags:
      - "folders"
      summary: "Returns the folders tree"
      description: ""
      operation_id: "get_3_1"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderTreeViewList"
      deprecated: true
  /folders/safe:
    get:
      tags:
      - "folders"
      summary: "Returns the folders tree"
      description: ""
      operation_id: "getSafeFolders_3_1"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FolderTreeViewList"
      deprecated: true
  /good/{good_id}/picture:
    get:
      tags:
      - "good"
      summary: "Retrieve the picture of this Good"
      description: ""
      operation_id: "getAvatar"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No picture for this Good"
    post:
      tags:
      - "good"
      summary: "Create the picture of this Good"
      description: ""
      operation_id: "createAvatar"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - in: "body"
        name: "picture"
        description: "The picture to upload"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No picture for this Good"
    delete:
      tags:
      - "good"
      summary: "Delete the picture of this Good"
      description: ""
      operation_id: "deleteAvatar"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /good/{good_id}/documents:
    get:
      tags:
      - "good"
      summary: "Retrieve the documents of a Good"
      description: ""
      operation_id: "getDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow Good ID."
  /good/{good_id}/document/{document_id}:
    delete:
      tags:
      - "good"
      summary: "Delete a document from this Good"
      description: ""
      operation_id: "deleteDocument"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "The id of a document in the safe"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Unknow user."
        404:
          description: "Document isn't in this Good."
        409:
          description: "Not user's document."
  /good/{good_id}/procedure:
    post:
      tags:
      - "good"
      summary: "Add a procedure to a Good"
      description: ""
      operation_id: "addProcedure"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - in: "body"
        name: "user_procedure_id"
        description: "The id of a user procedure"
        required: true
        schema:
          $ref: "#/definitions/UserProcedureIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Procedure added"
        403:
          description: "Not user's user procedure."
        404:
          description: "User procedure doesn't exist."
        409:
          description: "The user procedure is already in this Good."
  /good/{good_id}/procedure/{user_procedure_id}:
    delete:
      tags:
      - "good"
      summary: "Delete a procedure from this Good"
      description: ""
      operation_id: "deleteProcedure"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - name: "user_procedure_id"
        in: "path"
        description: "The id of a user procedure"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Not user's user procedure."
        404:
          description: "User procedure isn't in this Good."
  /good/{good_id}:
    get:
      tags:
      - "good"
      summary: "Retrieve a Good"
      description: ""
      operation_id: "getGood"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/GoodData"
        403:
          description: "Unknow user."
        404:
          description: "Unknow Good ID."
    put:
      tags:
      - "good"
      summary: "Update a Good"
      description: ""
      operation_id: "updateGood"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - in: "body"
        name: "good_data"
        description: "The data of the Good"
        required: true
        schema:
          $ref: "#/definitions/GoodInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/GoodData"
        400:
          description: "Not a valid Good input."
        403:
          description: "Unknow user."
        404:
          description: "Unknow Good ID."
        409:
          description: "The purchase date is in the future."
    delete:
      tags:
      - "good"
      summary: "Delete a Good with this id"
      description: ""
      operation_id: "deleteGood"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Unknow user."
        404:
          description: "Unknow Good ID."
  /good:
    post:
      tags:
      - "good"
      summary: "Create a Good"
      description: ""
      operation_id: "createGood"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "good_data"
        description: "The data of the Good"
        required: true
        schema:
          $ref: "#/definitions/GoodInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/GoodData"
        400:
          description: "Not a valid Good input."
        403:
          description: "Unknow user."
        409:
          description: "The purchase date is in the future."
  /good/{good_id}/procedures:
    get:
      tags:
      - "good"
      summary: "Retrieve the procedures of a Good"
      description: ""
      operation_id: "getProcedures"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /good/{good_id}/timeline:
    get:
      tags:
      - "good"
      summary: "Retrieve the timeline of a Good"
      description: ""
      operation_id: "getEvents"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "since_id"
        in: "query"
        description: "The returned items should be created after the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "max_id"
        in: "query"
        description: "The returned items should be created before the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "type"
        in: "query"
        description: "The type of the returned items"
        required: false
        type: "string"
      - name: "status"
        in: "query"
        description: "the object current status"
        required: false
        type: "string"
        enum:
        - "ARCHIVED"
        - "NOT_ARCHIVED"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /good/{good_id}/document:
    post:
      tags:
      - "good"
      summary: "Add a document to a Good"
      description: ""
      operation_id: "addDocument"
      produces:
      - "application/json"
      parameters:
      - name: "good_id"
        in: "path"
        description: "The ID of the Good"
        required: true
        type: "string"
      - in: "body"
        name: "document_id"
        description: "The id of a document in the safe"
        required: true
        schema:
          $ref: "#/definitions/DocumentIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Document added"
        403:
          description: "Not user's document."
        404:
          description: "Document doesn't exist."
        409:
          description: "The document is already in this Good."
  /goods:
    get:
      tags:
      - "goods"
      summary: "Returns all user's goods"
      description: ""
      operation_id: "listAll"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/GoodDataList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
  /health/{health_id}/picture:
    get:
      tags:
      - "health"
      summary: "Retrieve the picture of this health item"
      description: ""
      operation_id: "getAvatar"
      produces:
      - "images/gif"
      - "images/png"
      - "images/jpg"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No avatar in this health item"
    post:
      tags:
      - "health"
      summary: "Create the picture of this Health Item"
      description: ""
      operation_id: "createAvatar"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - in: "body"
        name: "picture"
        description: "The picture to upload"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No picture for this health item"
    delete:
      tags:
      - "health"
      summary: "Delete the picture of this Health Item"
      description: ""
      operation_id: "deleteAvatar"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /health/{health_id}/documents:
    get:
      tags:
      - "health"
      summary: "Retrieve the documents of an item health"
      description: ""
      operation_id: "getDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow Health ID."
  /health/{health_id}/document/{document_id}:
    delete:
      tags:
      - "health"
      summary: "Delete a document from this health item"
      description: ""
      operation_id: "deleteDocument"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "The id of a document in the safe"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success."
        403:
          description: "Unknow user."
        404:
          description: "Document isn't in this health item."
        409:
          description: "Not user document."
  /health/{health_id}:
    get:
      tags:
      - "health"
      summary: "Retrieve a Health"
      description: ""
      operation_id: "getHealth"
      produces:
      - "application/json"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HealthData"
        403:
          description: "Unknow user."
        404:
          description: "Unknow Health ID."
    put:
      tags:
      - "health"
      summary: "Update a Health"
      description: ""
      operation_id: "updateHealth"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - in: "body"
        name: "health_data"
        description: "The data of the Health"
        required: true
        schema:
          $ref: "#/definitions/HealthDataInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HealthData"
        400:
          description: "Not a valid Health input."
        403:
          description: "Unknow user."
        404:
          description: "Unknow Health ID."
    delete:
      tags:
      - "health"
      summary: "Delete a Health with this id"
      description: ""
      operation_id: "deleteHealth"
      produces:
      - "application/json"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Unknow user."
        404:
          description: "Unknow Health ID."
  /health/{health_id}/procedure:
    post:
      tags:
      - "health"
      summary: "Add a procedure to a Health Item"
      description: ""
      operation_id: "addProcedure"
      produces:
      - "application/json"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - in: "body"
        name: "user_procedure_id"
        description: "The id of a user procedure"
        required: true
        schema:
          $ref: "#/definitions/UserProcedureIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Procedure added"
        403:
          description: "Not user's user procedure."
        404:
          description: "User procedure doesn't exist."
        409:
          description: "The user procedure is already in this Health Item."
  /health/{health_id}/procedure/{user_procedure_id}:
    delete:
      tags:
      - "health"
      summary: "Delete a procedure from this health item"
      description: ""
      operation_id: "deleteProcedure"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - name: "user_procedure_id"
        in: "path"
        description: "The id of a user procedure"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success."
        403:
          description: "Not user's user procedure."
        404:
          description: "User procedure isn't in this health item."
  /health:
    post:
      tags:
      - "health"
      summary: "create health item"
      description: ""
      operation_id: "createHealth"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "health_data"
        description: "The data of the Health"
        required: true
        schema:
          $ref: "#/definitions/HealthDataCreate"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HealthData"
        400:
          description: "the name is required"
        403:
          description: "Unknown user."
  /health/{health_id}/procedures:
    get:
      tags:
      - "health"
      summary: "Retrieve the procedures of a Health Item"
      description: ""
      operation_id: "getProcedures"
      produces:
      - "application/json"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /health/{health_id}/document:
    post:
      tags:
      - "health"
      summary: "Add a document to a Health item"
      description: ""
      operation_id: "addDocument"
      produces:
      - "application/json"
      parameters:
      - name: "health_id"
        in: "path"
        description: "the id of the health item"
        required: true
        type: "string"
      - in: "body"
        name: "document_id"
        description: "The id of a document in the safe"
        required: true
        schema:
          $ref: "#/definitions/DocumentIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Document added."
        403:
          description: "Not user's document."
        404:
          description: "Document doesn't exist."
        409:
          description: "The document is already in this health item."
  /healths:
    get:
      tags:
      - "healths"
      summary: "Returns all user's health items"
      description: ""
      operation_id: "listAll"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HealthDataList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
  /housing/{housing_id}/picture:
    get:
      tags:
      - "housing"
      summary: "Retrieve the picture of this house"
      description: ""
      operation_id: "getAvatar"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No picture for this House"
    post:
      tags:
      - "housing"
      summary: "Create the picture of this house"
      description: ""
      operation_id: "createAvatar"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - in: "body"
        name: "picture"
        description: "The picture to upload"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No picture for this House"
    delete:
      tags:
      - "housing"
      summary: "Delete the picture of this House"
      description: ""
      operation_id: "deleteAvatar"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /housing/{housing_id}/documents:
    get:
      tags:
      - "housing"
      summary: "Retrieve the documents of a house"
      description: ""
      operation_id: "getDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow House ID."
  /housing/{housing_id}/document/{document_id}:
    delete:
      tags:
      - "housing"
      summary: "Delete a document from this house"
      description: ""
      operation_id: "deleteDocument"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "The id of a document in the safe"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Unknow user."
        404:
          description: "Document isn't in this house."
        409:
          description: "Not user's document."
  /housing/{housing_id}/procedure:
    post:
      tags:
      - "housing"
      summary: "Add a procedure to housing"
      description: ""
      operation_id: "addProcedure"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - in: "body"
        name: "procedure_id"
        description: "The id of a procedure in the safe"
        required: true
        schema:
          $ref: "#/definitions/UserProcedureIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Procedure added"
        403:
          description: "Not user's procedure."
        404:
          description: "Procedure doesn't exist."
        409:
          description: "The procedure is already in this house."
  /housing/{housing_id}/procedure/{procedure_id}:
    delete:
      tags:
      - "housing"
      summary: "Delete a procedure from this house"
      description: ""
      operation_id: "deleteProcedure"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - name: "procedure_id"
        in: "path"
        description: "The id of a procedure in the safe"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Unknow user."
        404:
          description: "Procedure isn't in this house."
        409:
          description: "Not user's procedure."
  /housing/{housing_id}/timeline:
    get:
      tags:
      - "housing"
      summary: "Retrieve the timeline of a housing"
      description: ""
      operation_id: "getHousingEvents"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "since_id"
        in: "query"
        description: "The returned items should be created after the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "max_id"
        in: "query"
        description: "The returned items should be created before the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "type"
        in: "query"
        description: "The type of the returned items"
        required: false
        type: "string"
      - name: "status"
        in: "query"
        description: "the object current status"
        required: false
        type: "string"
        enum:
        - "ARCHIVED"
        - "NOT_ARCHIVED"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /housing/{housing_id}:
    get:
      tags:
      - "housing"
      summary: "Get a housing"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HousingData"
        403:
          description: "Forbidden"
        404:
          description: "Housing not found"
    put:
      tags:
      - "housing"
      summary: "Update a Housing item"
      description: ""
      operation_id: "updateHousing"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - in: "body"
        name: "housing_input"
        description: "The housing input data"
        required: true
        schema:
          $ref: "#/definitions/HousingInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HousingData"
        400:
          description: "Not a valid Housing input."
        403:
          description: "Unknow user."
        404:
          description: "Unknow Housing ID."
    delete:
      tags:
      - "housing"
      summary: "Delete a Housing with this id"
      description: ""
      operation_id: "deleteHousing"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Unknow user."
        404:
          description: "Unknow Housing ID."
  /housing:
    post:
      tags:
      - "housing"
      summary: "Create a Housing Item"
      description: ""
      operation_id: "createHousing"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "housing_input"
        description: "The housing input data"
        required: true
        schema:
          $ref: "#/definitions/HousingInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HousingData"
        400:
          description: "Not a valid Housing input."
        403:
          description: "Unknow user."
  /housing/{housing_id}/procedures:
    get:
      tags:
      - "housing"
      summary: "Retrieve the procedures of a House"
      description: ""
      operation_id: "getHousingProcedures"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProcedureList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /housing/{housing_id}/document:
    post:
      tags:
      - "housing"
      summary: "Add a document to housing"
      description: ""
      operation_id: "addDocument"
      produces:
      - "application/json"
      parameters:
      - name: "housing_id"
        in: "path"
        description: "The ID of the housing"
        required: true
        type: "string"
      - in: "body"
        name: "document_id"
        description: "The id of a document in the safe"
        required: true
        schema:
          $ref: "#/definitions/DocumentIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Document added"
        403:
          description: "Not user's document."
        404:
          description: "Document doesn't exist."
        409:
          description: "The document is already in this house."
  /housings:
    get:
      tags:
      - "housings"
      summary: "Returns all user's housings"
      description: ""
      operation_id: "listAll"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/HousingDataList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
  /i18n/default_locale:
    get:
      tags:
      - "i18n"
      summary: "Get default locale"
      description: ""
      operation_id: "getDefaultLocale"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/StringValue"
  /i18n:
    get:
      tags:
      - "i18n"
      summary: "Get information about i18n on Digiposte"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DigiposteLocaleContext"
  /i18n/locales:
    get:
      tags:
      - "i18n"
      summary: "Get information about locales available on Digiposte"
      description: ""
      operation_id: "getLocales"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/StringList"
  /idn/linkAccount:
    post:
      tags:
      - "idn"
      summary: "Link current user account to its IDN account"
      description: ""
      operation_id: "linkIDNAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The tokens necessary to connect to IDN service"
        required: true
        schema:
          $ref: "#/definitions/IDNTokens"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserOutput"
        409:
          description: "IDN account is already linked to another user"
  /idn/retrieveInformation:
    post:
      tags:
      - "idn"
      summary: "Retrieve user information from IDN"
      description: ""
      operation_id: "retrieveIDNInformation"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The tokens necessary to connect to IDN service"
        required: true
        schema:
          $ref: "#/definitions/IDNTokens"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/IDNInformation"
        409:
          description: "IDN account not activated"
  /inscription/byAccountCode/{account_code}/status:
    get:
      tags:
      - "inscription"
      summary: "Returns the registration status (and status of linked objects)"
      description: ""
      operation_id: "retrieveRegistrationStatusByAccountCode"
      produces:
      - "application/json"
      parameters:
      - name: "account_code"
        in: "path"
        description: "account code"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserRegistrationReport"
        404:
          description: "Registration not found with this id"
  /inscription/{registration_id}/documents:
    get:
      tags:
      - "inscription"
      summary: "Returns a zip file with all documents"
      description: ""
      operation_id: "retrieveAllDocumentsForUser"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Registration not found with this id"
  /inscription/{registration_id}/fields:
    get:
      tags:
      - "inscription"
      summary: "Returns the registration security+ fields of the given identifier"
      description: ""
      operation_id: "retrieveRegistrationSecurityPlusField"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/RegistrationSecurityPlusForm"
        404:
          description: "Registration not found with this id"
        409:
          description: "Registration already used or canceled"
  /inscription/{registration_id}/user:
    get:
      tags:
      - "inscription"
      summary: "get the registration for the currently connected user"
      description: ""
      operation_id: "getRegistrationForConnectedUser"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
        403:
          description: "Registration does not match with user"
        404:
          description: "Registration not found with this id"
    post:
      tags:
      - "inscription"
      summary: "notify that connected user have used the registration"
      description: ""
      operation_id: "useRegistrationWithConnectedUser"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      - name: "fieldValue1"
        in: "query"
        description: "identification security+ field"
        required: false
        type: "string"
      - name: "fieldValue2"
        in: "query"
        description: "authentication security+ field"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserRegistrationReport"
        403:
          description: "Registration not match with security form"
        404:
          description: "Registration not found with this id"
        409:
          description: "user type not match with registration client type"
  /inscription/merge_demo/check:
    get:
      tags:
      - "inscription"
      summary: "checks if connected user can use the registration"
      description: ""
      operation_id: "canMergeDemoUserWithUser"
      produces:
      - "application/json"
      parameters:
      - name: "full_account_login"
        in: "query"
        description: "Full account login"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /inscription/byAccountCodeParams/{account_code}:
    get:
      tags:
      - "inscription"
      summary: "retrieve registration from url sign and params validity check from\
        \ account code"
      description: ""
      operation_id: "retrieveRegistrationByAccountCodeParams"
      produces:
      - "application/json"
      parameters:
      - name: "account_code"
        in: "path"
        description: "Registration Identifier"
        required: true
        type: "string"
      - name: "uri"
        in: "query"
        description: "the sign to verify"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
        403:
          description: "account code not match with security informations"
        404:
          description: "Registration not found with this id"
        409:
          description: "Registration already used or canceled"
  /inscription/{registration_id}:
    get:
      tags:
      - "inscription"
      summary: "Returns the registration data of the given identifier"
      description: ""
      operation_id: "retrieveRegistration"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      - name: "fieldValue1"
        in: "query"
        description: "identification security+ field"
        required: false
        type: "string"
      - name: "fieldValue2"
        in: "query"
        description: "authentication security+ field"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
        403:
          description: "Registration not match with security form"
        404:
          description: "Registration not found with this id"
        409:
          description: "registration already used or canceld"
  /inscription/{registration_id}/status:
    get:
      tags:
      - "inscription"
      summary: "Returns the registration status (and status of linked objects)"
      description: ""
      operation_id: "retrieveRegistrationStatus"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserRegistrationReport"
        404:
          description: "Registration not found with this id"
  /inscription/{registration_id}/byParam:
    get:
      tags:
      - "inscription"
      summary: "retrieve registration with url sign and params validity check"
      description: ""
      operation_id: "retrieveRegistrationByParams"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "Registration Identifier"
        required: true
        type: "string"
      - name: "uri"
        in: "query"
        description: "the uri to check"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
        403:
          description: "registration not match with security informations"
        404:
          description: "Registration not found with this id"
        409:
          description: "Registration already used or canceled"
  /inscription:
    get:
      tags:
      - "inscription"
      summary: "retrieve registration with url sign and params validity check"
      description: ""
      operation_id: "retrieveRegistrationByFields"
      produces:
      - "application/json"
      parameters:
      - name: "senderPid"
        in: "query"
        description: "the sender pid"
        required: true
        type: "string"
      - name: "fieldValue1"
        in: "query"
        description: "identification security+ field"
        required: true
        type: "string"
      - name: "fieldValue2"
        in: "query"
        description: "authentication security+ field"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
        404:
          description: "registration not found for this sender and this securityForm"
        409:
          description: "Registration already used or canceled"
  /inscription/refusable:
    get:
      tags:
      - "inscription"
      summary: "Returns data for refusable registration form"
      description: ""
      operation_id: "retrieveRefusableRegistrationByFields"
      produces:
      - "application/json"
      parameters:
      - name: "senderPid"
        in: "query"
        description: "the sender pid"
        required: true
        type: "string"
      - name: "fieldValue1"
        in: "query"
        description: "identification security+ field"
        required: false
        type: "string"
      - name: "fieldValue2"
        in: "query"
        description: "authentication security+ field"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
        403:
          description: "Registration not match with security form"
        404:
          description: "Registration not found with this id"
        409:
          description: "registration already used or canceld"
  /inscription/cancelled:
    get:
      tags:
      - "inscription"
      summary: "retrieve cancelled/or cancelled registration with url sign and params\
        \ validity check"
      description: ""
      operation_id: "retrieveCancelledRegistrationByFields"
      produces:
      - "application/json"
      parameters:
      - name: "senderPid"
        in: "query"
        description: "the sender pid"
        required: true
        type: "string"
      - name: "fieldValue1"
        in: "query"
        description: "identification security+ field"
        required: true
        type: "string"
      - name: "fieldValue2"
        in: "query"
        description: "authentication security+ field"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
        404:
          description: "registration not found for this sender and this securityForm"
        409:
          description: "Registration already used or canceled"
  /inscription/{registration_id}/membership/refuse:
    post:
      tags:
      - "inscription"
      summary: "notify that the user have refused the membership of the registration"
      description: ""
      operation_id: "refuseMembership"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "Identifiant de la pré-inscription"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Membership non trouvée pour cette registration"
  /inscription/{registration_id}/refuse:
    post:
      tags:
      - "inscription"
      summary: "notify that the user have refused the registration"
      description: ""
      operation_id: "refuseRegistration"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "Identifiant de la pré-inscription"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "email"
        required: true
        schema:
          $ref: "#/definitions/MailInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Registration not found with this id"
        409:
          description: "Registration already used or canceled"
  /inscription/{registration_id}/refuse_optin:
    post:
      tags:
      - "inscription"
      summary: "notify that the user have refused the registration"
      description: ""
      operation_id: "refuseOptinRegistration"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "Identifiant de la pré-inscription"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Formulaire de refus"
        required: true
        schema:
          $ref: "#/definitions/RefusalForm"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Registration not found with this id"
        409:
          description: "Registration already used or canceled"
  /inscription/refuse/form/answers:
    get:
      tags:
      - "inscription"
      summary: "retrieve the availables values to refusal answer"
      description: ""
      operation_id: "retrieveAvailablesAnswersForRefusalForm"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /inscription/{registration_id}/public:
    get:
      tags:
      - "inscription"
      summary: "Returns the registration public datas of the given identifier"
      description: ""
      operation_id: "retrieveRegistrationPublicDatas"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PublicRegistrationDetails"
        404:
          description: "Registration not found with this id"
  /inscription/{registration_id}/is_authorized:
    post:
      tags:
      - "inscription"
      summary: "Returns true if the registration is authorized for the given registration\
        \ id and user id, false otherwise"
      description: ""
      operation_id: "isAuthorizedToSubscribe"
      produces:
      - "application/json"
      parameters:
      - name: "registration_id"
        in: "path"
        description: "registration id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "login"
        required: true
        schema:
          $ref: "#/definitions/RegistrationCheckAuthorizationInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/RegistrationCheckAuthorizationResponse"
        403:
          description: "Registration not match with security form"
        404:
          description: "Registration not found with this id"
  /inscription/documents:
    head:
      tags:
      - "inscription"
      summary: "Returns number of documents based on fieldOne and senderCode"
      description: ""
      operation_id: "countDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "fieldOne"
        in: "query"
        description: "fieldOne"
        required: false
        type: "string"
      - name: "senderCode"
        in: "query"
        description: "senderCode"
        required: false
        type: "string"
      - name: "registrationId"
        in: "query"
        description: "registrationId"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /job/{employer_id}/picture:
    get:
      tags:
      - "job"
      summary: "Retrieve the picture of this Employer"
      description: ""
      operation_id: "getAvatar"
      produces:
      - "images/gif"
      - "images/png"
      - "images/jpg"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No avatar in this Employer"
    post:
      tags:
      - "job"
      summary: "Create the picture of this Employer"
      description: ""
      operation_id: "createAvatar"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - in: "body"
        name: "picture"
        description: "The picture to upload"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Fail"
        403:
          description: "Unknow user."
        404:
          description: "No picture for this employer"
    delete:
      tags:
      - "job"
      summary: "Delete the picture of this Employer"
      description: ""
      operation_id: "deleteAvatar"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /job/{employer_id}/documents:
    get:
      tags:
      - "job"
      summary: "Retrieve the documents of a Job"
      description: ""
      operation_id: "getDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow Job ID."
  /job/{employer_id}:
    get:
      tags:
      - "job"
      summary: "Retrieve a Employer"
      description: ""
      operation_id: "getEmployer"
      produces:
      - "application/json"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/EmployerData"
        403:
          description: "Unknow user."
        404:
          description: "Unknow Employer ID."
    put:
      tags:
      - "job"
      summary: "Update a job"
      description: ""
      operation_id: "updateEmployer"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - in: "body"
        name: "employer_data"
        description: "The data of the Employer"
        required: true
        schema:
          $ref: "#/definitions/EmployerDataInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/EmployerData"
        400:
          description: "Not a valid Employer input."
        403:
          description: "Unknow user."
        404:
          description: "Unknow Employer ID."
    delete:
      tags:
      - "job"
      summary: "Delete a job"
      description: ""
      operation_id: "deleteEmployer"
      produces:
      - "application/json"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Unknow user."
        404:
          description: "Unknow Employer ID."
  /job/{employer_id}/document/{document_id}:
    delete:
      tags:
      - "job"
      summary: "Delete a document from this job"
      description: ""
      operation_id: "deleteDocument"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "The id of a document in the safe"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success."
        403:
          description: "Unknow user."
        404:
          description: "Document isn't in this job."
        409:
          description: "Not user document."
  /job:
    post:
      tags:
      - "job"
      summary: "create a job"
      description: ""
      operation_id: "createEmployer"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "employer_data"
        description: "The data of the Employer"
        required: true
        schema:
          $ref: "#/definitions/EmployerDataInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/EmployerData"
        400:
          description: "The end date must be after the begin date"
        403:
          description: "Unknow user."
  /job/{employer_id}/procedure:
    post:
      tags:
      - "job"
      summary: "Add a procedure to a Job"
      description: ""
      operation_id: "addProcedure"
      produces:
      - "application/json"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - in: "body"
        name: "user_procedure_id"
        description: "The id of a user procedure"
        required: true
        schema:
          $ref: "#/definitions/UserProcedureIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Procedure added"
        403:
          description: "Not user's user procedure."
        404:
          description: "User procedure doesn't exist."
        409:
          description: "The user procedure is already in this Job."
  /job/{employer_id}/procedure/{user_procedure_id}:
    delete:
      tags:
      - "job"
      summary: "Delete a procedure from this Job"
      description: ""
      operation_id: "deleteProcedure"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - name: "user_procedure_id"
        in: "path"
        description: "The id of a user procedure"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Deleted with success"
        403:
          description: "Not user's user procedure."
        404:
          description: "User procedure isn't in this Job."
  /job/{employer_id}/procedures:
    get:
      tags:
      - "job"
      summary: "Retrieve the procedures of a Job"
      description: ""
      operation_id: "getProcedures"
      produces:
      - "application/json"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
        404:
          description: "Unknow ID"
  /job/{employer_id}/document:
    post:
      tags:
      - "job"
      summary: "Add a document to a Job"
      description: ""
      operation_id: "addDocument"
      produces:
      - "application/json"
      parameters:
      - name: "employer_id"
        in: "path"
        description: "the id of the employer"
        required: true
        type: "string"
      - in: "body"
        name: "document_id"
        description: "The id of a document in the safe"
        required: true
        schema:
          $ref: "#/definitions/DocumentIdInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "Document added"
        403:
          description: "Not user's document."
        404:
          description: "Document doesn't exist."
        409:
          description: "The document is already in this Job."
  /jobs:
    get:
      tags:
      - "jobs"
      summary: "Returns all user's employers"
      description: ""
      operation_id: "listAll"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/EmployerDataList"
        400:
          description: "Bad pagination."
        403:
          description: "Unknow user."
  /jwt/document:
    post:
      tags:
      - "jwtdocument"
      summary: "Upload a document"
      description: ""
      operation_id: "archive"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      - "text/json"
      parameters:
      - in: "body"
        name: "title"
        description: "The title of the document"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "hash"
        description: "The hash value of the document content"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "algo"
        description: "The hash algorithm to check the hash"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "folder_id"
        description: "Folder ID where the document will be stored"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "archive_size"
        description: "Size of the archive"
        required: false
        schema:
          type: "integer"
          format: "int64"
      - name: "X-AuthorizeSender"
        in: "header"
        required: false
        type: "boolean"
        default: false
      - in: "body"
        name: "archive"
        description: "The file to archive"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "The archive size is invalid"
        413:
          description: "The document to upload is too large"
        409:
          description: "The document hash is wrong"
  /jwt/document/{documentId}/metadata:
    get:
      tags:
      - "jwtdocument"
      summary: "Returns metadata of documents included in documents id array"
      description: ""
      operation_id: "getMetaDataForDocumentIds"
      produces:
      - "application/json"
      parameters:
      - name: "documentId"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ChooserMetadata"
        400:
          description: "Bad request"
  /legator/{id}:
    get:
      tags:
      - "legator"
      summary: "Get current user's legator by id"
      description: ""
      operation_id: "deleteById"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The requested legator does not exist"
  /legators:
    get:
      tags:
      - "legators"
      summary: "Get the legators of the current user"
      description: ""
      operation_id: "list"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/LegatorsData"
  /membership/optout/availability:
    get:
      tags:
      - "membership"
      summary: "Check field one availability by sender"
      description: ""
      operation_id: "validateFieldOneForOptout"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "sender_pid"
        in: "query"
        description: "Sender pid"
        required: true
        type: "string"
      - name: "field_one"
        in: "query"
        description: "Field one"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipOptoutFieldOneValidation"
  /membership/optouts/availability:
    post:
      tags:
      - "membership"
      summary: "Check field one availability by sender for multiple optouts"
      description: ""
      operation_id: "validateFieldOneForOptouts"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "sender_pid"
        in: "query"
        description: "Sender pid"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          type: "array"
          items:
            type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipOptoutFieldOneValidation"
  /membership/optout:
    post:
      tags:
      - "membership"
      summary: "Create an optout"
      description: ""
      operation_id: "createOptout"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/MembershipOptoutInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipOptoutOutput"
  /membership/optin:
    post:
      tags:
      - "membership"
      summary: "Create an optin"
      description: ""
      operation_id: "createOptin"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/MembershipOptinInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipOptinOutput"
  /membership/update:
    post:
      tags:
      - "membership"
      summary: "Update a membership (givenName, lastName and email)"
      description: ""
      operation_id: "updateMembership"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/MembershipUpdatingInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /membership:
    post:
      tags:
      - "membership"
      summary: "Join a membership"
      description: ""
      operation_id: "add"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/MembershipInput"
      - name: "registrationId"
        in: "query"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipMetaData"
  /membership/available:
    get:
      tags:
      - "membership"
      summary: "Check if the membership is available"
      description: ""
      operation_id: "isAvailable"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "input"
        in: "query"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Incorrect parameter"
        404:
          description: "The membership isn't available"
  /membership/validate:
    post:
      tags:
      - "membership"
      summary: "Acquit a membership"
      description: ""
      operation_id: "validate"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "partner_id"
        in: "query"
        description: "PartnerId (senderCode)"
        required: false
        type: "string"
      - name: "partner_user_id"
        in: "query"
        description: "UserId from partner (fieldone)"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "All parameters are required"
        404:
          description: "Partner not found"
  /membership/{id}/collect:
    post:
      tags:
      - "membershipId"
      summary: "launch the collect"
      description: ""
      operation_id: "launchCollect"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipMetaData"
  /membership/{id}/accept/demat:
    post:
      tags:
      - "membershipId"
      summary: "accept demat membership"
      description: ""
      operation_id: "acceptDematMembership"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /membership/{id}/agreement/content:
    get:
      tags:
      - "membershipId"
      summary: "Retrieve the agreement file of a membership"
      description: ""
      operation_id: "getAgreementContent"
      produces:
      - "*/*"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /membership/{id}/login/data:
    put:
      tags:
      - "membershipId"
      summary: "Reset retriever data"
      description: ""
      operation_id: "updateEfactureLoginData"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      - in: "body"
        name: "body"
        required: true
        schema:
          type: "object"
          additional_properties:
            type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /membership/{id}/inbox_folder:
    put:
      tags:
      - "membershipId"
      summary: "Reset retriever data"
      description: ""
      operation_id: "updateInboxFolder"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      - name: "value"
        in: "query"
        description: "Folder ID"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipMetaData"
  /membership/{id}/alias:
    put:
      tags:
      - "membershipId"
      summary: "Update a membership alias"
      description: ""
      operation_id: "updateAlias"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      - in: "body"
        name: "alias"
        description: "Alias of membership"
        required: false
        schema:
          $ref: "#/definitions/MembershipAliasInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipMetaData"
        400:
          description: "The alias is not valid"
  /membership/{id}/note:
    put:
      tags:
      - "membershipId"
      summary: "Update a membership note"
      description: ""
      operation_id: "updateNote"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "Membership Id"
        required: true
        type: "string"
        pattern: ".{32}"
      - in: "body"
        name: "note"
        description: "Membership note"
        required: false
        schema:
          $ref: "#/definitions/MembershipNoteInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipMetaData"
        400:
          description: "Note is not valid (empty or more than 500 characters)"
  /membership/{id}:
    get:
      tags:
      - "membershipId"
      summary: "Retrieve a membership"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipMetaData"
        404:
          description: "Membership doesn't exist"
    delete:
      tags:
      - "membershipId"
      summary: "Cancel a membership"
      description: ""
      operation_id: "cancel"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipMetaData"
        409:
          description: "Can delete collected membership only if sender allow it"
  /membership/{id}/state:
    get:
      tags:
      - "membershipId"
      summary: "Retrieve a collected membership transaction state"
      description: ""
      operation_id: "getState"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
        pattern: ".{32}"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CollectedTransactionStateData"
        410:
          description: "TransactionId expired"
        501:
          description: "unknown transaction state"
        404:
          description: "Membership doesn't exist"
        409:
          description: "Membership is not collected membership"
  /memberships/{id}/documents:
    get:
      tags:
      - "memberships"
      summary: "Retrieve membership documents data"
      description: ""
      operation_id: "getDocumentsData"
      produces:
      - "application/json"
      parameters:
      - name: "id"
        in: "path"
        description: "ID of membership"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentPartnerDataList"
        400:
          description: "Bad membership statusLabel."
        404:
          description: "Membership doesn't exist or not accesible."
  /memberships/state:
    post:
      tags:
      - "memberships"
      summary: "Retrieve collected membership transaction states"
      description: ""
      operation_id: "getStates"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/MembershipIdsInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CollectedTransactionStateMap"
        400:
          description: "Incorrect parameter"
        501:
          description: "unknown transaction state"
        503:
          description: "service unavailable"
  /memberships:
    get:
      tags:
      - "memberships"
      summary: "Retrieves all user's membership"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "status"
        in: "query"
        description: "the object current status"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipList"
  /memberships/search:
    get:
      tags:
      - "memberships"
      summary: "search for memberships with PID and eventually other criteria"
      description: ""
      operation_id: "search"
      produces:
      - "application/json"
      parameters:
      - name: "partner_id"
        in: "query"
        description: "PartnerId (senderCode)"
        required: true
        type: "string"
      - name: "status_label"
        in: "query"
        description: "the object current status"
        required: false
        type: "string"
      - name: "min_updated_at"
        in: "query"
        description: "The minimum date of last update"
        required: false
        type: "string"
      - name: "max_updated_at"
        in: "query"
        description: "The maximum date of last update"
        required: false
        type: "string"
      - name: "route_code"
        in: "query"
        description: "route code"
        required: false
        type: "string"
      - name: "partner_user_id"
        in: "query"
        description: "UserId from partner (fieldone)"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "min_updated_at can't be after min_updated_at"
        403:
          description: "forbidden"
        404:
          description: "Sender not found with partner_id ="
  /memberships/infos:
    get:
      tags:
      - "memberships"
      summary: "Get memberships infos"
      description: ""
      operation_id: "getInfos"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "partner_id"
        in: "query"
        description: "PartnerId (senderCode)"
        required: false
        type: "string"
      - name: "partner_user_id"
        in: "query"
        description: "UserId from partner (fieldone)"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipInfosList"
        404:
          description: "Functional object not found"
  /notification/{notification_id}:
    put:
      tags:
      - "notification"
      summary: "Update the notification"
      description: ""
      operation_id: "put"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "notification_id"
        in: "path"
        description: "ID of user notification"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "new notification data"
        required: true
        schema:
          $ref: "#/definitions/NotificationInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Notification"
  /notifications:
    get:
      tags:
      - "notifications"
      summary: "Get the notifications the current user"
      description: ""
      operation_id: "get"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        minimum: 0.0
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        maximum: 101.0
        minimum: 1.0
        format: "int32"
      - name: "type"
        in: "query"
        description: "The type of the returned items"
        required: false
        type: "string"
      - name: "read"
        in: "query"
        description: "To filter by read status"
        required: false
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/NotificationList"
  /offers:
    get:
      tags:
      - "offers"
      summary: "Retrieve subscription offers"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/OfferList"
  /onboardings/check:
    post:
      tags:
      - "onboardings"
      summary: ""
      description: ""
      operation_id: "checkOnboardingForUser"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "input"
        description: "the onboarding pid"
        required: true
        schema:
          $ref: "#/definitions/OnboardingDTO"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "onboarding pid may not be null"
        500:
          description: "json generation failed"
        404:
          description: "You are trying to get the current user but there is no current\
            \ user related to this request!"
  /onboardings/{pid}:
    get:
      tags:
      - "onboardings"
      summary: "Retrieve all onboardings for the connected user"
      description: ""
      operation_id: "getOnboardingForPid"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "unknow onboarding pid"
        500:
          description: "json generation failed"
        404:
          description: "You are trying to get the current user but there is no current\
            \ user related to this request!"
  /onboardings:
    get:
      tags:
      - "onboardings"
      summary: "Retrieve all onboardings for the connected user"
      description: ""
      operation_id: "getAll"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "You are trying to get the current user but there is no current\
            \ user related to this request!"
  /partner/document:
    post:
      tags:
      - "partner"
      summary: "Upload a document"
      description: ""
      operation_id: "archive"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/Attachment"
      - in: "body"
        name: "title"
        description: "The title of the document."
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "file_name"
        description: "The name of the document."
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "archive_duration"
        description: "The end date of legal archiving."
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "author_tags"
        description: "The sender tags. Separated by '|' or ','."
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "hash"
        description: "The hash value of the document content."
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "algo"
        description: "The hash algorithm to check the hash."
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "file_size"
        description: "Size of the file."
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "archive"
        description: "archive"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CertifiedDocumentOutput"
        400:
          description: "The archive size is invalid"
        413:
          description: "The document to upload is too large"
        409:
          description: "The document to upload is empty"
  /partner/{client_id}:
    get:
      tags:
      - "partner"
      summary: "get a partner by client_id"
      description: ""
      operation_id: "getPartner"
      produces:
      - "application/json"
      parameters:
      - name: "client_id"
        in: "path"
        description: "client id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PartnerInput"
        400:
          description: "Données en entrée incorrectes"
    put:
      tags:
      - "partner"
      summary: "update a Partner "
      description: ""
      operation_id: "updatePartner"
      produces:
      - "application/json"
      parameters:
      - name: "client_id"
        in: "path"
        description: "client id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "update partner"
        required: true
        schema:
          $ref: "#/definitions/PartnerInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PartnerInput"
        400:
          description: "Données en entrée incorrectes"
  /partner:
    post:
      tags:
      - "partner"
      summary: "Create a Partner"
      description: ""
      operation_id: "createPartner"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Add partner"
        required: true
        schema:
          $ref: "#/definitions/PartnerInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PartnerSimpleDto"
        400:
          description: "Données en entrée incorrectes"
  /partner/{client_id}/rights:
    put:
      tags:
      - "partner"
      summary: "Update partner rights "
      description: ""
      operation_id: "updatePartnerRights"
      produces:
      - "application/json"
      parameters:
      - name: "client_id"
        in: "path"
        description: "client id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "update partner rights"
        required: true
        schema:
          $ref: "#/definitions/PartnerApiAccessInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ApiAccessDto"
        412:
          description: "La ressource demandée (verbe HTTP + ressource API) n'existe\
            \ pas"
        404:
          description: "Le partenaire n'existe pas"
  /partner/{client_id}/client-secret:
    post:
      tags:
      - "partner"
      summary: "update Partner client secret "
      description: ""
      operation_id: "updateClientSecretOfPartner"
      produces:
      - "application/json"
      parameters:
      - name: "client_id"
        in: "path"
        description: "client id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Le partenaire n'existe pas"
  /partner/offer/change:
    post:
      tags:
      - "partner"
      summary: "Change partner offer"
      description: ""
      operation_id: "changePartnerOffer"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Partner offer"
        required: true
        schema:
          $ref: "#/definitions/ChangeOfferInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Wrong or missing mandatory parameters"
        204:
          description: "The offer has been changed"
        404:
          description: "Unknown partner_user_id, platform and/or product_id"
  /partner/offer/cancel:
    post:
      tags:
      - "partner"
      summary: "Cancel a partner offer"
      description: ""
      operation_id: "cancelPartnerOffer"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Partner offer"
        required: true
        schema:
          $ref: "#/definitions/CancelPartnerOfferInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Wrong or missing mandatory parameters"
        204:
          description: "The offer has been canceled"
        404:
          description: "Unknown partner_user_id, platform and/or product_id"
  /partner/procedure/{user_procedure_id}/documents:
    get:
      tags:
      - "partner_procedure"
      summary: "Returns all documents of a user procedure in a zip file"
      description: ""
      operation_id: "getDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /partner/procedure/{user_procedure_id}/document/{document_id}/metadata:
    get:
      tags:
      - "partner_procedure"
      summary: "Returns document infos of a user procedure"
      description: ""
      operation_id: "getDocumentMetadata"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "document id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /partner/procedure/{user_procedure_id}/qualify:
    put:
      tags:
      - "partner_procedure"
      summary: "Returns document of a user procedure"
      description: ""
      operation_id: "qualify"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "qualify_procedure_input"
        description: "qualification parameters"
        required: true
        schema:
          $ref: "#/definitions/QualifyProcedureInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /partner/procedure/{user_procedure_id}/document/{document_id}:
    get:
      tags:
      - "partner_procedure"
      summary: "Returns document of a user procedure"
      description: ""
      operation_id: "getDocument"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "document id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /partner/procedure/{procedure_pid}/assign:
    post:
      tags:
      - "partner_procedure"
      summary: "Assign a procedure to a user"
      description: ""
      operation_id: "assign"
      produces:
      - "application/json"
      parameters:
      - name: "procedure_pid"
        in: "path"
        description: "procedure pid"
        required: true
        type: "string"
      - name: "X-OrganismUserId"
        in: "header"
        required: false
        type: "string"
      - name: "X-OrganismId"
        in: "header"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/LightUserProcedureData"
  /partner/procedures/{procedure_pid}/details:
    get:
      tags:
      - "partner_procedures"
      summary: "Retrieve an user procedure"
      description: ""
      operation_id: "getDetails"
      produces:
      - "application/json"
      parameters:
      - name: "procedure_pid"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /partner/procedures/{procedure_pid}:
    get:
      tags:
      - "partner_procedures"
      summary: "Retrieve all procedures available to the partner"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "procedure_pid"
        in: "path"
        description: "procedure pid"
        required: true
        type: "string"
      - name: "status"
        in: "query"
        description: "procedure status"
        required: false
        type: "string"
        enum:
        - "STARTED"
        - "REQUESTED"
        - "VALIDATED"
        - "COMPLETED"
        - "OBSOLETED"
      - name: "max_results"
        in: "query"
        description: "maximum number of procedures to retrieve"
        required: false
        type: "integer"
        format: "int32"
      - name: "index"
        in: "query"
        description: "page index"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PartnerProceduresList"
  /partner/procedures:
    get:
      tags:
      - "partner_procedures"
      summary: "Retrieve all user procedures of a specific procedure  available to\
        \ the partner"
      description: ""
      operation_id: "getAll"
      produces:
      - "application/json"
      parameters:
      - name: "offset"
        in: "query"
        description: "specify which row should be fetched first."
        required: false
        type: "integer"
        minimum: 0.0
        format: "int32"
      - name: "limit"
        in: "query"
        description: "limit the records returned."
        required: false
        type: "integer"
        minimum: 0.0
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PartnerProceduresList"
  /partner/procedures/{procedure_pid}/stats:
    get:
      tags:
      - "partner_procedures"
      summary: "Retrieve statistics from procedures available to the partner"
      description: ""
      operation_id: "getStats"
      produces:
      - "application/json"
      parameters:
      - name: "procedure_pid"
        in: "path"
        description: "procedure pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PartnerProceduresList"
        400:
          description: "Invalid parameter, procedure not found for the given PID"
        403:
          description: "Access denied for the given procedure PID"
  /partners:
    get:
      tags:
      - "partners"
      summary: "Get list of senders under authenticated partner's publisher"
      description: ""
      operation_id: "getPartners"
      produces:
      - "application/json"
      parameters:
      - name: "parent_publisher_id"
        in: "query"
        description: "Parent publisher PID to filter senders (optional). If provided,\
          \ only senders with this publisher as direct parent will be returned."
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/PartnerSender"
        401:
          description: "User is not authenticated"
        403:
          description: "User does not have required permissions"
  /procedure/{user_procedure_id}/reminder:
    post:
      tags:
      - "procedure"
      summary: "Create a reminder on a user procedure"
      description: ""
      operation_id: "createReminder"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Title and date of reminder that will be created"
        required: true
        schema:
          $ref: "#/definitions/ReminderInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Title or date are invalids"
        500:
          description: "Internal error"
        404:
          description: "user procedure not found"
  /procedure/{user_procedure_id}/reminders:
    get:
      tags:
      - "procedure"
      summary: "Get list of reminders of a user procedure"
      description: ""
      operation_id: "getRemindersList"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ReminderDataList"
        500:
          description: "Internal error"
        404:
          description: "Reminders not found"
  /procedure/{user_procedure_id}:
    put:
      tags:
      - "procedure"
      summary: "Updates a Specific user procedure"
      description: ""
      operation_id: "modifySpecificProcedure"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "the updated procedure model"
        required: true
        schema:
          $ref: "#/definitions/SpecificProcedureInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
  /procedure/{user_procedure_id}/membership_association/{membership_id}:
    put:
      tags:
      - "procedure"
      summary: "associate a membership with a procedure"
      description: ""
      operation_id: "membershipAssociation"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - name: "membership_id"
        in: "path"
        description: "membership_id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Membership doesn't exist"
  /procedure:
    post:
      tags:
      - "procedure"
      summary: "Assign a procedure to a user"
      description: ""
      operation_id: "createSpecificProcedure"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "the procedure model"
        required: true
        schema:
          $ref: "#/definitions/SpecificProcedureInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
  /procedure/user/{user_procedure_id}/document:
    post:
      tags:
      - "procedure_user"
      summary: "Upload a document to user procedure"
      description: ""
      operation_id: "archive"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      - "text/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "title"
        description: "The title of the document"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "hash"
        description: "The hash value of the document content"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "algo"
        description: "The hash algorithm to check the hash"
        required: false
        schema:
          type: "string"
          default: " "
      - in: "body"
        name: "archive_size"
        description: "Size of the archive"
        required: false
        schema:
          type: "integer"
          format: "int64"
      - in: "body"
        name: "archive"
        description: "The file to archive"
        required: true
        schema:
          $ref: "#/definitions/File"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FullDocumentMetaData"
        400:
          description: "The archive size is invalid"
        413:
          description: "The document to upload is too large"
        409:
          description: "The document hash is wrong"
  /procedure/user/{user_procedure_id}/details:
    get:
      tags:
      - "procedure_user"
      summary: "Retrieve an user procedure"
      description: ""
      operation_id: "getDetails"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /procedure/user/{user_procedure_id}/add-document:
    post:
      tags:
      - "procedure_user"
      summary: "Add new document to user procedure in a document category , use pid\
        \ instead of id"
      description: ""
      operation_id: "add_3_0"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Add document to user procedure"
        required: true
        schema:
          $ref: "#/definitions/ProcedureDocumentInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /procedure/user/{user_procedure_id}/replace-document:
    put:
      tags:
      - "procedure_user"
      summary: "Add new document to user procedure in a document category , use pid\
        \ instead of id"
      description: ""
      operation_id: "replace_3_0"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Add document to user procedure"
        required: true
        schema:
          $ref: "#/definitions/ProcedureDocumentInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /procedure/user/{user_procedure_id}/delete-document:
    post:
      tags:
      - "procedure_user"
      summary: "Delete the document from the procedure , use pid instead of id"
      description: ""
      operation_id: "deleteDocument_3_0"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "user procedure document id"
        required: true
        schema:
          $ref: "#/definitions/ProcedureDocumentInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /procedure/user/{user_procedure_id}/share:
    get:
      tags:
      - "procedure_user"
      summary: "Get the procedure share"
      description: ""
      operation_id: "getProcedureShare"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
    post:
      tags:
      - "procedure_user"
      summary: "Share the procedure"
      description: ""
      operation_id: "createProcedureShare"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "The share data"
        required: true
        schema:
          $ref: "#/definitions/ProcedureShareDataInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
    put:
      tags:
      - "procedure_user"
      summary: "Update the procedure share"
      description: ""
      operation_id: "updateProcedureShare"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "The share data"
        required: true
        schema:
          $ref: "#/definitions/ProcedureShareDataInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
    delete:
      tags:
      - "procedure_user"
      summary: "Delete the procedure share"
      description: ""
      operation_id: "deleteProcedureShare"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /procedure/user/{user_procedure_id}:
    get:
      tags:
      - "procedure_user"
      summary: "Retrieve an user procedure"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
    put:
      tags:
      - "procedure_user"
      summary: "Update a user procedure"
      description: ""
      operation_id: "updateStatus"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "new status of the user procedure"
        required: true
        schema:
          $ref: "#/definitions/ProcedureStatusInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        400:
          description: "Invalid request parameters"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
    delete:
      tags:
      - "procedure_user"
      summary: "Delete the procedure for the user"
      description: ""
      operation_id: "delete"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /procedure/user/{user_procedure_id}/reset:
    delete:
      tags:
      - "procedure_user"
      summary: "Reset the procedure for the user"
      description: ""
      operation_id: "reset"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        400:
          description: "Invalid request parameters"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /procedure/user/{user_procedure_id}/rename:
    post:
      tags:
      - "procedure_user"
      summary: "Rename a personal procedure"
      description: ""
      operation_id: "rename"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_procedure_id"
        in: "path"
        description: "user procedure id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Rename user procedure"
        required: true
        schema:
          $ref: "#/definitions/ProcedureInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
        409:
          description: "Can't rename user procedure"
  /procedures/{procedure_pid}/init:
    post:
      tags:
      - "procedures"
      summary: "Starts new user procedure"
      description: ""
      operation_id: "initProcedureByPId"
      produces:
      - "application/json"
      parameters:
      - name: "procedure_pid"
        in: "path"
        description: "procedure pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
  /procedures/init:
    post:
      tags:
      - "procedures"
      summary: "Starts new own user procedure"
      description: ""
      operation_id: "initPersoProcedure"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Add user procedure"
        required: true
        schema:
          $ref: "#/definitions/ProcedureInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserProcedureData"
  /procedures:
    get:
      tags:
      - "procedures"
      summary: "Retrieve all procedures including user"
      description: ""
      operation_id: "getProcedures"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProceduresList"
  /profile:
    get:
      tags:
      - "profile"
      summary: "Returns the profile data of the logged user"
      description: ""
      operation_id: "getProfileData"
      produces:
      - "application/json"
      parameters:
      - name: "mode"
        in: "query"
        description: "The selected profile view mode, default is simple"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SimpleProfileData"
    put:
      tags:
      - "profile"
      summary: "set the date of birth and/or the title of the logged user"
      description: ""
      operation_id: "setProfileData"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The user birthdate and title"
        required: false
        schema:
          $ref: "#/definitions/ProfileIdentityData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SimpleProfileData"
  /profile/safe/size:
    get:
      tags:
      - "profile"
      summary: "Returns the safe size of the user"
      description: ""
      operation_id: "getSafeSize"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileSafeSize"
  /profile/email/{email_id}:
    get:
      tags:
      - "profile"
      summary: "Returns the email data for that id"
      description: ""
      operation_id: "getProfileEmail"
      produces:
      - "application/json"
      parameters:
      - name: "email_id"
        in: "path"
        description: "The email ID to get"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileEmailData"
        404:
          description: "the mail id doesn't exists"
    put:
      tags:
      - "profile"
      summary: "Updates mail with the given ID and send validation mail"
      description: ""
      operation_id: "putProfileEmail"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "email_id"
        in: "path"
        description: "The email ID to update."
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "The mail to update"
        required: true
        schema:
          $ref: "#/definitions/ProfileEmailData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileEmailData"
        400:
          description: "the email is missing or not well-formed"
        412:
          description: "this mail is the only valid mail"
        404:
          description: "email ID cannot be found"
        409:
          description: "the same mail exists"
    delete:
      tags:
      - "profile"
      summary: "Removes the given email address from the user profile"
      description: ""
      operation_id: "deleteProfileEmail"
      produces:
      - "application/json"
      parameters:
      - name: "email_id"
        in: "path"
        description: "The email id to remove"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "email is missing or not a well-formed email address"
        412:
          description: "removing this email is not allowed because there is only one\
            \ mail in the profile"
        409:
          description: "removing this email is not allowed because this is the only\
            \ validated mail"
  /profile/emails:
    get:
      tags:
      - "profile"
      summary: "Returns the internet emails of the logged user"
      description: ""
      operation_id: "getProfileEmails"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileMails"
  /profile/email:
    post:
      tags:
      - "profile"
      summary: "Adds new email address and send validation email"
      description: ""
      operation_id: "postProfileEmail"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The email data to add to the profile"
        required: true
        schema:
          $ref: "#/definitions/ProfileEmailData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "email is missing or not a well-formed email address"
        409:
          description: "adding this email is not allowed because it already exists"
  /profile/emailtodigiposte:
    get:
      tags:
      - "profile"
      summary: "Returns the emailtodigiposte of the logged user"
      description: ""
      operation_id: "getProfileDigiposteEmail"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileMailToDigiposte"
    delete:
      tags:
      - "profile"
      summary: "Revokes the given emailtodigiposte address from the user profile"
      description: ""
      operation_id: "deleteProfileDigiposteEmail"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /profile/emailtodigiposte/generate:
    post:
      tags:
      - "profile"
      summary: "Generates a new emailtodigiposte email address and revoke the old\
        \ one"
      description: ""
      operation_id: "postProfileDigiposteEmail"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileMailToDigiposte"
  /profile/address/{address_id}:
    get:
      tags:
      - "profile"
      summary: "Returns the address data for that id"
      description: ""
      operation_id: "getProfileAddress"
      produces:
      - "application/json"
      parameters:
      - name: "address_id"
        in: "path"
        description: "The address ID to get"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileAddressData"
        404:
          description: "the address id doesn't exists"
    put:
      tags:
      - "profile"
      summary: "Updates address with the given ID and send validation letter"
      description: ""
      operation_id: "putProfileAddress"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "address_id"
        in: "path"
        description: "The address ID to remove."
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "The address to add"
        required: true
        schema:
          $ref: "#/definitions/ProfileAddressData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "one of the address param is missing or not a well-formed email\
            \ address"
        404:
          description: "address ID is missing"
    delete:
      tags:
      - "profile"
      summary: "Removes the given address identified by the ID from the user profile"
      description: ""
      operation_id: "deleteProfileAddress"
      produces:
      - "application/json"
      parameters:
      - name: "address_id"
        in: "path"
        description: "The address ID to remove. It should be percent encoded, see\
          \ RFC 3986 http://tools.ietf.org/html/rfc3986#section-2.5"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "address ID is missing"
  /profile/addresses:
    get:
      tags:
      - "profile"
      summary: "Returns the profile data of the logged user"
      description: ""
      operation_id: "getProfileAddresses"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileAddresses"
  /profile/address:
    post:
      tags:
      - "profile"
      summary: "Adds the new address and send a validation letter"
      description: ""
      operation_id: "postProfileAddress"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The address to add"
        required: true
        schema:
          $ref: "#/definitions/ProfileAddressData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileAddressData"
        400:
          description: "one of the address param is missing or not a well-formed email\
            \ address"
  /profile/address/{address_id}/validate:
    post:
      tags:
      - "profile"
      summary: "Creates new address with the given ID and send validation letter"
      description: ""
      operation_id: "postProfileAddressValidation"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "address_id"
        in: "path"
        description: "The address ID to validate."
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "The address validation code"
        required: true
        schema:
          $ref: "#/definitions/ProfileAddressValidationCode"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "the validation code is missing or incorrect"
        404:
          description: "address ID is missing"
        409:
          description: "the address cannot be validated"
  /profile/address/{address_id}/renew_validation_letter:
    post:
      tags:
      - "profile"
      summary: "Creates new address with the given ID and send validation letter"
      description: ""
      operation_id: "postProfileAddressRenewValidationLetter"
      produces:
      - "application/json"
      parameters:
      - name: "address_id"
        in: "path"
        description: "The address ID to validate."
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "the validation code is missing or incorrect"
        404:
          description: "address ID is missing"
        409:
          description: "the address cannot be validated"
  /profile/phones:
    get:
      tags:
      - "profile"
      summary: "Gives phone number list , identified by the ID from the user profile"
      description: ""
      operation_id: "listPhoneNumbers"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "index of page , used for pagination"
        required: false
        type: "integer"
        minimum: 1.0
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "max_results is used to limit number of item returned by API"
        required: false
        type: "integer"
        minimum: 1.0
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/PhoneNumbersList"
        400:
          description: "index or maxResults are invalid"
  /profile/phone:
    post:
      tags:
      - "profile"
      summary: "Create new phone number"
      description: ""
      operation_id: "createPhoneNumber"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Phone Number that will be created"
        required: true
        schema:
          $ref: "#/definitions/PhoneNumberInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Phone number ID is missing"
  /profile/phone/{phone_number_id}:
    get:
      tags:
      - "profile"
      summary: "Get phone number by ID "
      description: ""
      operation_id: "getPhone"
      produces:
      - "application/json"
      parameters:
      - name: "phone_number_id"
        in: "path"
        description: "ID of phone Number"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Phone number ID is missing"
    put:
      tags:
      - "profile"
      summary: "Modify phone number by ID "
      description: ""
      operation_id: "editPhoneNumber"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "ID of phone Number that will be edited"
        required: true
        schema:
          $ref: "#/definitions/PhoneNumberInput"
      - name: "phone_number_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Phone number already exist"
        404:
          description: "Phone number ID is missing"
    delete:
      tags:
      - "profile"
      summary: "Delete phone number by ID "
      description: ""
      operation_id: "deletePhoneNumber"
      produces:
      - "application/json"
      parameters:
      - name: "phone_number_id"
        in: "path"
        description: "ID of phone Number that will be deleted"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Phone number ID is missing"
  /profile/notification_status:
    get:
      tags:
      - "profile"
      summary: "Returns the notification status"
      description: ""
      operation_id: "getNotificationStatus"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileNotificationStatus"
  /profile/notification_status/{accepting_notifications}:
    put:
      tags:
      - "profile"
      summary: "Indicates whether the user accepts notifications or not"
      description: ""
      operation_id: "putNotificationStatus"
      produces:
      - "application/json"
      parameters:
      - name: "accepting_notifications"
        in: "path"
        required: true
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "the acceptingNotifications flag is not a valid boolean (true\
            \ or false)"
  /profile/applications:
    get:
      tags:
      - "profile"
      summary: "Return the authorized applications"
      description: ""
      operation_id: "getAuthorizedApplications"
      produces:
      - "application/json"
      parameters:
      - name: "notExpired"
        in: "query"
        description: " return only not expired authorized applications"
        required: false
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/AuthorizedApplications"
  /profile/application/{client_id}:
    delete:
      tags:
      - "profile"
      summary: "Revoke the authorized application"
      description: ""
      operation_id: "deleteApplicationAuthorization"
      produces:
      - "application/json"
      parameters:
      - name: "client_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Token ID of authorized application is not found"
  /profile/support:
    get:
      tags:
      - "profile"
      summary: "Get support information about user"
      description: ""
      operation_id: "getSupport"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SupportMetaData"
        404:
          description: "Token ID of authorized application is not found"
  /profile/support/available:
    get:
      tags:
      - "profile"
      summary: "Check if support data is available"
      description: ""
      operation_id: "getSupportAvailable"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SupportAvailable"
        404:
          description: "Token ID of authorized application is not found"
  /profile/preferences/show2ddoc:
    put:
      tags:
      - "profile"
      summary: "Update show2ddoc date user preferences"
      description: ""
      operation_id: "updateUserPreferencesShow2ddoc"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /profile/soft-logout:
    post:
      tags:
      - "profile"
      summary: "log out user from application, remove access"
      description: ""
      operation_id: "softLogout"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "No access token found"
  /profile/last_tos:
    put:
      tags:
      - "profile"
      summary: "Update tos version of the user to the latest"
      description: ""
      operation_id: "useLastTos"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /profile/offer:
    post:
      tags:
      - "profile"
      summary: "Update user's offer"
      description: ""
      operation_id: "updateOffer"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/UserOfferInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Offer doesn't exist"
        409:
          description: "Purchase transaction already exists"
  /profile/optins:
    get:
      tags:
      - "profile"
      summary: "Get the user's optins"
      description: ""
      operation_id: "getOptins"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            type: "object"
            additional_properties:
              type: "boolean"
    put:
      tags:
      - "profile"
      summary: "Update the user's optins"
      description: ""
      operation_id: "putOptins"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          type: "object"
          additional_properties:
            type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            type: "object"
            additional_properties:
              type: "boolean"
  /profile/locale:
    put:
      tags:
      - "profile"
      summary: "To update the user's locale"
      description: ""
      operation_id: "putLocale"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/LocaleInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /profile/ccu:
    post:
      tags:
      - "profile"
      summary: "Link an account digiposte to an account CCU"
      description: ""
      operation_id: "linkDigiposteAccountWithCcuAccount"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "token_dgp"
        description: "the token generated by digiposte."
        required: true
        schema:
          $ref: "#/definitions/CcuTokenInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SimpleProfileData"
        201:
          description: "Accounts linked."
        400:
          description: "Missing mandatory argument"
        404:
          description: "CCU user not found."
        409:
          description: "User part cannot be linked to User pro."
  /profile/connections:
    get:
      tags:
      - "profile"
      summary: "Returns the connections of the logged user"
      description: ""
      operation_id: "getProfileConnections"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "Page index."
        required: true
        type: "integer"
        minimum: 1.0
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "Page size."
        required: true
        type: "integer"
        maximum: 100.0
        minimum: 1.0
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ConnectionsData"
        400:
          description: "Invalid or missing pagination parameters."
  /profile/logout:
    post:
      tags:
      - "profile"
      summary: "log out user from application, remove access and refresh token"
      description: ""
      operation_id: "logout"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "No access token found"
  /profile/actions/help_status:
    get:
      tags:
      - "profile_actions"
      summary: "Returns the user's preferences about notification"
      description: ""
      operation_id: "get"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserActionHelpList"
    post:
      tags:
      - "profile_actions"
      summary: "Sets action to executed"
      description: ""
      operation_id: "executed"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Executed action"
        required: false
        schema:
          $ref: "#/definitions/UserActionHelpList"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserActionHelpList"
  /profile/documents/add-document:
    post:
      tags:
      - "profile_documents"
      summary: "Add new document to user profile in a document category"
      description: ""
      operation_id: "add_3_0"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Add document to user profile "
        required: true
        schema:
          $ref: "#/definitions/ProfileDocumentsNaturePidData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileDocumentsNaturePidData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /profile/documents:
    get:
      tags:
      - "profile_documents"
      summary: "Retrieve documents user profile"
      description: ""
      operation_id: "get_3_0"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileDocumentsData"
    delete:
      tags:
      - "profile_documents"
      summary: "Delete the documents from the profile"
      description: ""
      operation_id: "deleteAll_3_0"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "remove documents to user profile "
        required: true
        schema:
          $ref: "#/definitions/ProfileDocumentsNaturePidInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Domain object not found"
  /profile/documents/replace/{user_profile_document_id}:
    put:
      tags:
      - "profile_documents"
      summary: "Add new document to user profile in a document category"
      description: ""
      operation_id: "replace"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "user_profile_document_id"
        in: "path"
        description: "user profile document id"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Add document to user profile "
        required: true
        schema:
          $ref: "#/definitions/ProfileDocumentsInputData"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileDocumentsData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /profile/documents/delete/{user_profile_document_id}:
    delete:
      tags:
      - "profile_documents"
      summary: "Delete the document from the profile"
      description: ""
      operation_id: "delete"
      produces:
      - "application/json"
      parameters:
      - name: "user_profile_document_id"
        in: "path"
        description: "user profile document id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileDocumentsData"
        403:
          description: "Access to resource forbidden"
        404:
          description: "Domain object not found"
  /profile/nature/{nature_pid}/documents:
    get:
      tags:
      - "profile_nature"
      summary: "Retrieve documents user profile for given nature"
      description: ""
      operation_id: "getByNature"
      produces:
      - "application/json"
      parameters:
      - name: "nature_pid"
        in: "path"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        minimum: 0.0
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        maximum: 100.0
        minimum: 1.0
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ProfileDocumentList"
  /profile/notifications:
    get:
      tags:
      - "profile_notification"
      summary: "Returns the user's preferences about notification"
      description: ""
      operation_id: "get"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/NotificationPreferenceList"
  /profile/notifications/{notification_type}:
    put:
      tags:
      - "profile_notification"
      summary: "Modify user preference about notification"
      description: ""
      operation_id: "enable"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "notification_type"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/NotificationPreferenceInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /reminder/{reminder_id}:
    get:
      tags:
      - "reminder"
      summary: "Returns the reminder by id "
      description: ""
      operation_id: "getReminderById"
      produces:
      - "application/json"
      parameters:
      - name: "reminder_id"
        in: "path"
        description: "ID of reminder that will be returned"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Reminder Not found"
    put:
      tags:
      - "reminder"
      summary: "update reminder by id "
      description: ""
      operation_id: "updateReminderById"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "reminder_id"
        in: "path"
        description: "ID of reminder that will be updated"
        required: true
        type: "string"
      - in: "body"
        name: "reminder_input"
        description: "ID of reminder that will be updated"
        required: true
        schema:
          $ref: "#/definitions/ReminderInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "title is too long or date is invalid"
        404:
          description: "Reminder Not found"
    delete:
      tags:
      - "reminder"
      summary: "delete reminder by id "
      description: ""
      operation_id: "deleteReminderById"
      produces:
      - "application/json"
      parameters:
      - name: "reminder_id"
        in: "path"
        description: "ID of reminder that will be deleted"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "the reminder was deleted"
        404:
          description: "Reminder Not found"
  /reminders:
    get:
      tags:
      - "reminders"
      summary: "Returns next user reminders"
      description: ""
      operation_id: "getNextOnes"
      produces:
      - "application/json"
      parameters:
      - name: "until"
        in: "query"
        description: "Until date (format :yyyyMMdd)"
        required: false
        type: "string"
      - name: "limit"
        in: "query"
        description: "Results limit (greater than 0)"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ReminderDataList"
        400:
          description: "One or more parameters are invalid"
  /routage/{id_lot}/report:
    get:
      tags:
      - "routage"
      summary: "Get the routage report"
      description: ""
      operation_id: "getReportRoutage"
      produces:
      - "application/json"
      parameters:
      - name: "id_lot"
        in: "path"
        description: "lot id"
        required: true
        type: "string"
      - name: "type"
        in: "query"
        description: "type"
        required: false
        type: "string"
        default: "ATS"
      - name: "integrity"
        in: "query"
        description: "integrity"
        required: false
        type: "string"
        default: "FALSE"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Format incorrect : Integrity"
        500:
          description: "Encountered an internal error."
        403:
          description: "Le gestionnaire n'est pas autorisé à utiliser cet api pour\
            \ cet émetteur"
        404:
          description: "Cannot found the sender with pid '{senderPid}'"
  /sender/{partnerId}/clone:
    post:
      tags:
      - "sender"
      summary: "clone a sender by its id"
      description: ""
      operation_id: "cloneSenderMultipart"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      parameters:
      - name: "partnerId"
        in: "path"
        description: "The sender pid to clone"
        required: true
        type: "string"
      - in: "body"
        name: "legal_name"
        description: "Legal name"
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "clone_partner_id"
        description: "clone_partner_id"
        required: true
        schema:
          type: "string"
      - in: "body"
        name: "siren_siret"
        description: "Siren/Siret"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "vat_number"
        description: "vat_number"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "street"
        description: "street"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "zip_code"
        description: "zipCode"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "locality"
        description: "locality"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "selfcare_url_fr"
        description: "selfcare_url_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label1_fr"
        description: "label1_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label2_fr"
        description: "label2_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "field2_encoding"
        description: "field2_encoding"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "documents_naming_fr"
        description: "documents_naming_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "security_redirect"
        description: "security_redirect"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "special_offer"
        description: "special_offer"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "thumbnail"
        description: "thumbnail"
        required: false
        schema:
          $ref: "#/definitions/Attachment"
      - in: "body"
        name: "logo"
        description: "logo"
        required: false
        schema:
          $ref: "#/definitions/Attachment"
      - in: "body"
        name: "presentation_fr"
        description: "presentation_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "more_info_fr"
        description: "more_info_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "publisher_partner_id"
        description: "publisher_partner_id"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip1_fr"
        description: "tooltip1_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip2_fr"
        description: "tooltip2_fr"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "field1_example"
        description: "field1_example"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "field2_example"
        description: "field2_example"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label1_en"
        description: "Label 1 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip1_en"
        description: "Tooltip 1 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label2_en"
        description: "Label 2 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip2_en"
        description: "Tooltip 2 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "presentation_en"
        description: "Presentation in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "more_info_en"
        description: "More info in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "selfcare_url_en"
        description: "English organisation url"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "document_naming_en"
        description: "Documents naming in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "alias"
        description: "List of aliases, comma seperated"
        required: false
        schema:
          type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderMetaData"
        404:
          description: "no sender found with this id"
  /sender/{senderId}:
    get:
      tags:
      - "sender"
      summary: "Get a sender by its id"
      description: ""
      operation_id: "search"
      produces:
      - "application/json"
      parameters:
      - name: "senderId"
        in: "path"
        description: "The sender's id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderMetaData"
        404:
          description: "no sender found with this id"
  /sender/pid/{pid}/agreement/content:
    get:
      tags:
      - "sender"
      summary: "Get a sender's agreement file"
      description: ""
      operation_id: "getAgreementContent"
      produces:
      - "*/*"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender's pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /sender/pid/{pid}/agreement:
    get:
      tags:
      - "sender"
      summary: "Get a sender's agreement"
      description: ""
      operation_id: "getAgreement"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender's pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Agreement"
  /sender/pid/{pid}/subscription_url:
    get:
      tags:
      - "sender"
      summary: "Get sender subscription url"
      description: ""
      operation_id: "getSubscriptionUrl"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender's pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SubscriptionInfo"
  /sender/pid/{pid}/form:
    get:
      tags:
      - "sender"
      summary: "Get form data for a sender"
      description: ""
      operation_id: "getFormData"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender's pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/FormData"
  /sender/pid/{pid}/memberships:
    get:
      tags:
      - "sender"
      summary: "Retrieves all user's membership for this sender"
      description: ""
      operation_id: "getCurrentUserMemberships"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender's pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/MembershipList"
  /sender/pid/{pid}:
    get:
      tags:
      - "sender"
      summary: "Get a sender by its pid"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender's pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderMetaData"
        404:
          description: "no sender found with this pid"
  /sender/pid/{pid}/search:
    get:
      tags:
      - "sender"
      summary: "Get a sender by its pid"
      description: ""
      operation_id: "search"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender's pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderMetaData"
        404:
          description: "no sender found with this pid"
  /senders/{pid}:
    get:
      tags:
      - "senders"
      summary: "Get sender by PID"
      description: ""
      operation_id: "getByPid"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender pid"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderResponse"
    post:
      tags:
      - "senders"
      summary: "Update sender"
      description: ""
      operation_id: "update"
      produces:
      - "application/json"
      parameters:
      - name: "pid"
        in: "path"
        description: "The sender pid"
        required: true
        type: "string"
      - in: "body"
        name: "label1_fr"
        description: "Label 1 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label1_en"
        description: "Label 1 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip1_fr"
        description: "Tooltip 1 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip1_en"
        description: "Tooltip 1 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label2_fr"
        description: "Label 2 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label2_en"
        description: "Label 2 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip2_fr"
        description: "Tooltip 2 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip2_en"
        description: "Tooltip 2 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "presentation_fr"
        description: "Presentation in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "presentation_en"
        description: "Presentation in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "more_info_fr"
        description: "More info in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "more_info_en"
        description: "More info in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "field1_example"
        description: "Field1 example"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "field2_example"
        description: "Field2 example"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "selfcare_url_fr"
        description: "French organisation url"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "selfcare_url_en"
        description: "English organisation url"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "routing_emails"
        description: "Routing emails list comma separated"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "aliases"
        description: "Alias list comma separated"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "street"
        description: "Street part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "country"
        description: "Country part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "locality"
        description: "Locality part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "zip_code"
        description: "Zipcode part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "siren_siret"
        description: "Siren/Siret"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "vat_number"
        description: "Vat number"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "legal_name"
        description: "Legal name"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "thumbnail"
        description: "Thumbnail image"
        required: false
        schema:
          $ref: "#/definitions/Attachment"
      - in: "body"
        name: "logo"
        description: "Logo image"
        required: false
        schema:
          $ref: "#/definitions/Attachment"
      - in: "body"
        name: "parent_publisher_id"
        description: "Parent publisher pid"
        required: false
        schema:
          type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /senders/subscribed:
    get:
      tags:
      - "senders"
      summary: "Returns all senders that user already subscribe"
      description: "return distincts, ie for multi-membership sender appears one time."
      operation_id: "retrieveAlreadySubscribed"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderRefList"
  /senders/vip/random:
    get:
      tags:
      - "senders"
      summary: "Retrieve the vip availables senders for current user"
      description: ""
      operation_id: "getVipRandom"
      produces:
      - "application/json"
      parameters:
      - name: "size"
        in: "query"
        description: "size"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderList"
  /senders/wishlist:
    put:
      tags:
      - "senders"
      summary: "Adds user wish to wish list"
      description: ""
      operation_id: "addWishlist"
      produces:
      - "application/json"
      parameters:
      - name: "value"
        in: "query"
        description: "value"
        required: false
        type: "string"
        max_items: 255
        min_items: 0
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /senders/human_ressource/query:
    get:
      tags:
      - "senders"
      summary: "Search for human ressource senders with name or pid."
      description: ""
      operation_id: "searchWithNameOrPid"
      produces:
      - "application/json"
      parameters:
      - name: "name_pid"
        in: "query"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/SenderMetaData"
  /senders:
    get:
      tags:
      - "senders"
      summary: "Returns all senders"
      description: "If pagination is incorrect, it will be ignored."
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderList"
    post:
      tags:
      - "senders"
      summary: "Search senders"
      description: ""
      operation_id: "search"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/SenderSearch"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderList"
  /senders/create:
    post:
      tags:
      - "senders"
      summary: "Create sender"
      description: ""
      operation_id: "create"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "pid"
        description: "Pid"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "legal_name"
        description: "Legal name"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "siren_siret"
        description: "Siren/Siret"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "vat_number"
        description: "Vat number"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "type"
        description: "Type"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "visible"
        description: "Visibile"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "findable"
        description: "Findable"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "security_redirect"
        description: "Security redirect"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "multi_subscription"
        description: "Multi subscription"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "multilingual"
        description: "Multilingual"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "hr"
        description: "HR"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "health"
        description: "Health"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "first_notification_type"
        description: "First notification type"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "number_of_personalization_email_reminders"
        description: "Number of personalization email reminders"
        required: false
        schema:
          type: "integer"
          format: "int32"
      - in: "body"
        name: "self_cancellation"
        description: "Self cancellation"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "self_cancellation_timeout"
        description: "Self cancellation timeout"
        required: false
        schema:
          type: "integer"
          format: "int32"
      - in: "body"
        name: "alias_allowed"
        description: "Alias allowed"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "notification_type"
        description: "Notification type"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label1_fr"
        description: "Label 1 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label1_en"
        description: "Label 1 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip1_fr"
        description: "Tooltip 1 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip1_en"
        description: "Tooltip 1 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label2_fr"
        description: "Label 2 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "label2_en"
        description: "Label 2 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip2_fr"
        description: "Tooltip 2 in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "tooltip2_en"
        description: "Tooltip 2 in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "presentation_fr"
        description: "Presentation in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "presentation_en"
        description: "Presentation in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "more_info_fr"
        description: "More info in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "more_info_en"
        description: "More info in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "documents_naming_fr"
        description: "Documents naming in french"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "documents_naming_en"
        description: "Documents naming in english"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "field1_example"
        description: "Field1 example"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "field2_example"
        description: "Field2 example"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "selfcare_url_fr"
        description: "French organisation url"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "selfcare_url_en"
        description: "English organisation url"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "routing_emails"
        description: "Routing emails list comma separated"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "aliases"
        description: "Alias list comma separated"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "street"
        description: "Street part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "country"
        description: "Country part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "locality"
        description: "Locality part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "zip_code"
        description: "Zipcode part of the address"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "thumbnail"
        description: "Thumbnail image"
        required: false
        schema:
          $ref: "#/definitions/Attachment"
      - in: "body"
        name: "logo"
        description: "Logo image"
        required: false
        schema:
          $ref: "#/definitions/Attachment"
      - in: "body"
        name: "dematerialized_sender_side"
        description: "Dematerialized agreement sender side"
        required: false
        schema:
          type: "boolean"
      - in: "body"
        name: "dematerialized_agreement_url"
        description: "Dematerialized agreement url"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "category"
        description: "Category"
        required: false
        schema:
          type: "string"
      - in: "body"
        name: "publisher_partner_id"
        description: "Parent publisher pid"
        required: false
        schema:
          type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CreatedSenderResponse"
  /senders/categories/{categoryId}:
    get:
      tags:
      - "senders"
      operation_id: "getCategory"
      produces:
      - "application/json"
      parameters:
      - name: "categoryId"
        in: "path"
        description: "The category id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderCategory"
          headers: {}
  /senders/categories:
    get:
      tags:
      - "senders"
      operation_id: "getCategories"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderCategoryList"
          headers: {}
  /share/{share_id}:
    get:
      tags:
      - "share"
      summary: "Returns the user's share with the given id"
      description: ""
      operation_id: "getShare"
      produces:
      - "application/json"
      parameters:
      - name: "share_id"
        in: "path"
        description: "Identifiant du partage à retourner"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareData"
        403:
          description: "The share does not belong to the authenticated user"
        404:
          description: "The share does not exist"
        409:
          description: "The share space of the currently connected user is not active"
    put:
      tags:
      - "share"
      summary: "Update an existing share"
      description: ""
      operation_id: "updateUserShare"
      produces:
      - "application/json"
      parameters:
      - name: "share_id"
        in: "path"
        description: "Identifiant du partage à updater"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "The share data"
        required: true
        schema:
          $ref: "#/definitions/DocumentShareDataInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareData"
        400:
          description: "The share data provided tries to update the resource id"
        403:
          description: "The share to update does not belong to the authenticated user"
        404:
          description: "The share to update does not exist"
        409:
          description: "The share space of the currently connected user is not active"
    delete:
      tags:
      - "share"
      summary: "Returns the user's share with the given id"
      description: ""
      operation_id: "deleteShare"
      produces:
      - "application/json"
      parameters:
      - name: "share_id"
        in: "path"
        description: "Identifiant du partage à retourner"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "The share does not belong to the authenticated user"
        404:
          description: "The share does not exist"
        409:
          description: "The share space of the currently connected user is not active"
  /share:
    post:
      tags:
      - "share"
      summary: "Create a new share for the current user"
      description: ""
      operation_id: "createUserShare"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The share data"
        required: true
        schema:
          $ref: "#/definitions/DocumentShareDataInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareData"
        400:
          description: "The share data can't provide an id"
        409:
          description: "The share space of the currently connected user is not active"
  /share/{share_id}/documents:
    get:
      tags:
      - "share"
      summary: "Returns the user's share with the given id"
      description: ""
      operation_id: "getShareDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "share_id"
        in: "path"
        description: "Identifiant du partage à retourner"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareDocumentList"
        403:
          description: "The share does not belong to the authenticated user"
        404:
          description: "The share does not exist"
        409:
          description: "The share space of the currently connected user is not active"
    put:
      tags:
      - "share"
      summary: "Update the documents of a share"
      description: ""
      operation_id: "updateShareDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "share_id"
        in: "path"
        description: "Identifiant du partage"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Les ids des documents à mettre dans le partage"
        required: true
        schema:
          $ref: "#/definitions/IdSet"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        403:
          description: "One of the documents does not belong to the authenticated\
            \ user"
        404:
          description: "One of the documents does not exist"
        409:
          description: "The share space of the currently connected user is not active"
  /share_views/{share_short_id}/documents/{document_id}/certificate:
    get:
      tags:
      - "share_views"
      summary: "get document certificate"
      description: ""
      operation_id: "getDocumentCertificate"
      produces:
      - "application/json"
      parameters:
      - name: "share_short_id"
        in: "path"
        description: "Identifiant court du partage à retourner"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "Identifiant du document"
        required: true
        type: "string"
      - name: "security_code"
        in: "query"
        description: "Code de sécurité sur un partage par lien"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        410:
          description: "The share view does not exist anymore"
        403:
          description: "The security code is not provided or wrong"
        404:
          description: "The share view does not exist yet but will be available in\
            \ the future"
        409:
          description: "The share space of the share owner is not active"
  /share_views:
    get:
      tags:
      - "share_views"
      summary: "Returns the share view for a share recipient"
      description: ""
      operation_id: "getShareShortId"
      produces:
      - "application/json"
      parameters:
      - name: "shareId"
        in: "query"
        description: "Identifiant du partage à retourner"
        required: true
        type: "string"
      - name: "security_code"
        in: "query"
        description: "Code de sécurité sur un partage par lien"
        required: false
        type: "string"
      - name: "user_shard"
        in: "query"
        description: "Shard utilisateur (3 premiers chars du userId)"
        required: true
        type: "string"
      - name: "recipientMailEncrypted"
        in: "query"
        description: "L'email du destinataire encrypté par bluefish"
        required: true
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "trace"
        in: "query"
        description: "true to add trace about share viewing by user"
        required: false
        type: "boolean"
        default: false
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareView"
        410:
          description: "The share view does not exist anymore"
        403:
          description: "The security code is not provided or wrong"
        404:
          description: "The share view does not exist yet but will be available in\
            \ the future"
        409:
          description: "The share space of the share owner is not active"
  /share_views/{share_short_id}:
    get:
      tags:
      - "share_views"
      summary: "Returns the share view for a share recipient"
      description: ""
      operation_id: "getShareView"
      produces:
      - "application/json"
      parameters:
      - name: "share_short_id"
        in: "path"
        description: "Identifiant court du partage à retourner"
        required: true
        type: "string"
      - name: "security_code"
        in: "query"
        description: "Code de sécurité sur un partage par lien"
        required: false
        type: "string"
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "trace"
        in: "query"
        description: "true to add trace about share viewing by user"
        required: false
        type: "boolean"
        default: false
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareView"
        410:
          description: "The share view does not exist anymore"
        403:
          description: "The security code is not provided or wrong"
        404:
          description: "The share view does not exist yet but will be available in\
            \ the future"
        409:
          description: "The share space of the share owner is not active"
  /share_views/{share_short_id}/documents/{document_id}/content:
    get:
      tags:
      - "share_views"
      summary: "Download the content of a document"
      description: ""
      operation_id: "getShareViewDocumentContent"
      produces:
      - "application/json"
      parameters:
      - name: "share_short_id"
        in: "path"
        description: "Identifiant court du partage à retourner"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "Identifiant du document à télécharger"
        required: true
        type: "string"
      - name: "security_code"
        in: "query"
        description: "Code de sécurité sur un partage par lien"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        410:
          description: "The share view does not exist anymore"
        403:
          description: "The security code is not provided or wrong"
        404:
          description: "The document does not exist"
        409:
          description: "The share space of the share owner is not active"
    head:
      tags:
      - "share_views"
      summary: "Check the document content"
      description: ""
      operation_id: "checkShareViewDocumentContent"
      produces:
      - "application/json"
      parameters:
      - name: "share_short_id"
        in: "path"
        description: "Identifiant court du partage à retourner"
        required: true
        type: "string"
      - name: "document_id"
        in: "path"
        description: "Identifiant du document à télécharger"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        500:
          description: "Error calling clamaV"
        404:
          description: "The document does not exist"
  /share_views/{share_short_id}/documents/archive:
    get:
      tags:
      - "share_views"
      summary: "Download an archive of all share's documents"
      description: ""
      operation_id: "getShareViewDocumentsArchive"
      produces:
      - "application/json"
      parameters:
      - name: "share_short_id"
        in: "path"
        description: "Identifiant court du partage à retourner"
        required: true
        type: "string"
      - name: "security_code"
        in: "query"
        description: "Code de sécurité sur un partage par lien"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        410:
          description: "The share view does not exist anymore"
        403:
          description: "The security code is not provided or wrong"
        404:
          description: "The share view does not exist yet but will be available in\
            \ the future"
        409:
          description: "The share space of the share owner is not active"
      deprecated: true
    head:
      tags:
      - "share_views"
      summary: "Download an archive of all share's documents"
      description: ""
      operation_id: "checkShareViewDocumentsArchive"
      produces:
      - "application/json"
      parameters:
      - name: "share_short_id"
        in: "path"
        description: "Identifiant court du partage à retourner"
        required: true
        type: "string"
      - name: "security_code"
        in: "query"
        description: "Code de sécurité sur un partage par lien"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        410:
          description: "The share view does not exist anymore"
        500:
          description: "Error calling clamaV"
        404:
          description: "The share view does not exist yet but will be available in\
            \ the future"
        409:
          description: "The share space of the share owner is not active"
    post:
      tags:
      - "share_views"
      summary: "Download an archive of some share's documents"
      description: ""
      operation_id: "getShareViewSelectedsDocumentsArchive"
      produces:
      - "application/json"
      parameters:
      - name: "share_short_id"
        in: "path"
        description: "Identifiant court du partage à retourner"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        description: "Identifiants des documents à télécharger"
        required: true
        schema:
          type: "array"
          items:
            type: "string"
      - name: "security_code"
        in: "query"
        description: "Code de sécurité sur un partage par lien"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        410:
          description: "The share view does not exist anymore"
        403:
          description: "The security code is not provided or wrong"
        404:
          description: "The share view does not exist yet but will be available in\
            \ the future"
        409:
          description: "The share space of the share owner is not active"
  /shares/contacts/with_documents:
    get:
      tags:
      - "shares"
      summary: "Returns the user's contact document shares"
      description: ""
      operation_id: "getAllContactDocumentsShared"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareDocumentList"
  /shares:
    get:
      tags:
      - "shares"
      summary: "Returns the user's shares"
      description: ""
      operation_id: "getUserShares"
      produces:
      - "application/json"
      parameters:
      - name: "type"
        in: "query"
        description: "DOCUMENT or PROCEDURE, missing or unknown value return ALL"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareDataList"
        409:
          description: "The share space of the currently connected user is not active"
  /shares/with_documents:
    get:
      tags:
      - "shares"
      summary: "Returns the user's shares"
      description: ""
      operation_id: "getUserSharesAndDocuments"
      produces:
      - "application/json"
      parameters:
      - name: "type"
        in: "query"
        description: "DOCUMENT or PROCEDURE, missing or unknown value return ALL"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ShareDataAndDocumentsList"
        409:
          description: "The share space of the currently connected user is not active"
  /sign/{signatureId}/url:
    get:
      tags:
      - "sign"
      summary: "Returns sign url for a given signature"
      description: ""
      operation_id: "getSignUrl"
      produces:
      - "application/json"
      parameters:
      - name: "signatureId"
        in: "path"
        required: true
        type: "string"
      - name: "doneUrl"
        in: "query"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/StringValue"
        400:
          description: "Bad pagination values provided"
  /sign/{signatureId}/act:
    post:
      tags:
      - "sign"
      summary: "User can sign or refuse"
      description: ""
      operation_id: "signOrRefuseAsAdherent"
      produces:
      - "application/json"
      parameters:
      - name: "signatureId"
        in: "path"
        required: true
        type: "string"
      - name: "userAction"
        in: "query"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Bad pagination values provided"
  /sign:
    get:
      tags:
      - "sign"
      summary: "Returns all signature for the given user"
      description: ""
      operation_id: "getSignatures"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DocumentList"
        400:
          description: "Bad pagination values provided"
  /supporting/referential:
    get:
      tags:
      - "supporting"
      summary: "Returns every category and nature"
      description: ""
      operation_id: "getReferential"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /supporting/nature/{nature_id}:
    get:
      tags:
      - "supporting"
      summary: "Returns documents for a nature"
      description: ""
      operation_id: "getNatureContent"
      produces:
      - "application/json"
      parameters:
      - name: "nature_id"
        in: "path"
        description: "nature id"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "The nature doesn't exist"
  /supporting/type:
    get:
      tags:
      - "supporting"
      summary: "Returns the categories list for an user"
      description: ""
      operation_id: "getTypes"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /supporting/document/nature:
    put:
      tags:
      - "supporting"
      summary: "Update nature for a specified document"
      description: ""
      operation_id: "update"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "request body containing nature and documents ids"
        required: true
        schema:
          $ref: "#/definitions/DocumentNatureInput"
      responses:
        430:
          description: "Part of document list not updated"
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "The document or nature doesn't exist"
        204:
          description: "Documents natures successfully updated"
    delete:
      tags:
      - "supporting"
      summary: "Removes every natures from a document"
      description: ""
      operation_id: "deleteDocumentNatures"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "request body with documents ids"
        required: true
        schema:
          type: "object"
          additional_properties:
            type: "array"
            unique_items: true
            items:
              type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Document not found or does not belong to current user"
        204:
          description: "Documents' nature(s) deleted"
  /supporting/refresh:
    head:
      tags:
      - "supporting"
      summary: "Refresh caches linked to categories"
      description: ""
      operation_id: "refresh"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "The caches were refreshed successfully"
  /timeline:
    get:
      tags:
      - "timeline"
      summary: "Get the time line of the current user"
      description: ""
      operation_id: "get_3_0"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      - name: "since_id"
        in: "query"
        description: "The returned items should be created after the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "max_id"
        in: "query"
        description: "The returned items should be created before the item whose id\
          \ is the given field"
        required: false
        type: "string"
      - name: "type"
        in: "query"
        description: "The type of the returned items"
        required: false
        type: "string"
      - name: "status"
        in: "query"
        description: "Status of timeline events"
        required: false
        type: "string"
        enum:
        - "ARCHIVED"
        - "NOT_ARCHIVED"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TimeLineResponse"
  /timeline/all:
    post:
      tags:
      - "timeline"
      summary: "Change the status of all events on the timeline "
      description: ""
      operation_id: "updateAll"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "status"
        description: "Status of timeline events"
        required: true
        schema:
          $ref: "#/definitions/TimelineStatusInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /timeline/{item_id}:
    put:
      tags:
      - "timeline"
      summary: "Change timeline events status from user's newsfeed"
      description: ""
      operation_id: "update"
      produces:
      - "application/json"
      parameters:
      - name: "item_id"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "status"
        description: "Status of timeline events"
        required: true
        schema:
          $ref: "#/definitions/TimelineStatusInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /token_info:
    get:
      tags:
      - "token_info"
      summary: "Retrieve token informations"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TokenInfo"
  /trusted_contact/{trusted_contact_id}:
    get:
      tags:
      - "trusted_contact"
      summary: "Get trusted contact by id"
      description: ""
      operation_id: "getById"
      produces:
      - "application/json"
      parameters:
      - name: "trusted_contact_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TrustedContactData"
        404:
          description: "The requested trusted contact does not exist"
    delete:
      tags:
      - "trusted_contact"
      summary: "Delete trusted contact by id"
      description: ""
      operation_id: "deleteById"
      produces:
      - "application/json"
      parameters:
      - name: "trusted_contact_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The requested trusted contact does not exist"
  /trusted_contact/{trusted_contact_id}/email:
    post:
      tags:
      - "trusted_contact"
      summary: "Send invitation email to the trusted contact"
      description: ""
      operation_id: "sendInvitationEmail"
      produces:
      - "application/json"
      parameters:
      - name: "trusted_contact_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The requested trusted contact does not exist"
        409:
          description: "The trusted contact's status is not WAITING"
  /trusted_contact/{trusted_contact_id}/attach_user:
    put:
      tags:
      - "trusted_contact"
      summary: "Attach current user to a trusted contact"
      description: ""
      operation_id: "attachUser"
      produces:
      - "application/json"
      parameters:
      - name: "trusted_contact_id"
        in: "path"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "The requested trusted contact does not exist"
        409:
          description: "The trusted contact's status is not WAITING"
  /trusted_contact/{trusted_contact_id}/status:
    put:
      tags:
      - "trusted_contact"
      summary: "Update the status of a trusted contact"
      description: ""
      operation_id: "updateStatus"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - name: "trusted_contact_id"
        in: "path"
        required: true
        type: "string"
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/TrustedContactStatusInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TrustedContactData"
        400:
          description: "The status 'WAITING' is not accepted"
        404:
          description: "The requested trusted contact does not exist"
  /trusted_contact:
    post:
      tags:
      - "trusted_contact"
      summary: "Create a trusted contact"
      description: ""
      operation_id: "create"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Trusted Contact Info"
        required: true
        schema:
          $ref: "#/definitions/TrustedContactInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TrustedContactData"
        400:
          description: "Input data are incorrect"
        409:
          description: "The user can't add himself as a trusted contact"
  /trusted_contacts:
    get:
      tags:
      - "trusted_contacts"
      summary: "Get trusted contacts of the current user"
      description: ""
      operation_id: "list"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/TrustedContactsData"
  /user/notif/{user_id}:
    get:
      tags:
      - "user"
      summary: "retrieve user account information for notif by id"
      description: ""
      operation_id: "getUserInfos"
      produces:
      - "application/json"
      parameters:
      - name: "user_id"
        in: "path"
        description: "The user id to retrieve"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserForNotif"
        400:
          description: "invalid id"
        404:
          description: "no user with this id"
  /user/postponedRegistration:
    get:
      tags:
      - "user"
      summary: "Retrieve the registration with postponned membership"
      description: ""
      operation_id: "retrieveWaitingRegistrationOfCurrentUser"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Registration"
  /user/stats:
    get:
      tags:
      - "user"
      summary: "Returns user account statistics"
      description: ""
      operation_id: "retrieveUserStats"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        404:
          description: "Stats not found for this user"
  /user:
    post:
      tags:
      - "user"
      summary: "Creates a full user account using encrypted password via pinpad"
      description: ""
      operation_id: "createFullAccountWithPinpad"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The user account to create"
        required: true
        schema:
          $ref: "#/definitions/PinpadFullUserAccountInput"
      - name: "registrationId"
        in: "query"
        description: "pré-registration identifier"
        required: false
        type: "string"
      - name: "fieldValue1"
        in: "query"
        description: "Sender Security+ form field1 value"
        required: false
        type: "string"
      - name: "fieldValue2"
        in: "query"
        description: "Sender Security+ form field2 value"
        required: false
        type: "string"
      - name: "tokenCustomization"
        in: "query"
        description: "customization token (coregistration)"
        required: false
        type: "string"
      - name: "trustedContactId"
        in: "query"
        description: "trusted contact identifier"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserRegistrationReport"
        400:
          description: "cannot creates user with this parameters"
        409:
          description: "login already exist"
    delete:
      tags:
      - "user"
      summary: "Delete an user"
      description: ""
      operation_id: "delete"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /user/with_raw_password:
    post:
      tags:
      - "user"
      summary: "Creates a full user account using raw password"
      description: ""
      operation_id: "createFullAccountWithRawPassword"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The user account to create"
        required: true
        schema:
          $ref: "#/definitions/RawPasswordFullUserAccountInput"
      - name: "registrationId"
        in: "query"
        description: "pré-registration identifier"
        required: false
        type: "string"
      - name: "fieldValue1"
        in: "query"
        description: "Sender Security+ form field1 value"
        required: false
        type: "string"
      - name: "fieldValue2"
        in: "query"
        description: "Sender Security+ form field2 value"
        required: false
        type: "string"
      - name: "tokenCustomization"
        in: "query"
        description: "customization token (coregistration)"
        required: false
        type: "string"
      - name: "trustedContactId"
        in: "query"
        description: "trusted contact identifier"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserRegistrationReport"
        400:
          description: "cannot creates user with this parameters"
        409:
          description: "login already exist"
  /user/{user_id}/activation/{email_code}/{activation_token}:
    post:
      tags:
      - "user"
      summary: "Activate a full user account by his validation url informations"
      description: ""
      operation_id: "activateFullAccount"
      produces:
      - "application/json"
      parameters:
      - name: "user_id"
        in: "path"
        description: "Identifiant de l'utilisateur"
        required: true
        type: "string"
      - name: "email_code"
        in: "path"
        description: "Code de validation de l'email"
        required: true
        type: "string"
      - name: "activation_token"
        in: "path"
        description: "token de validation de l'email"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserRegistrationReport"
        400:
          description: "bad request (invalid parameters)"
        403:
          description: "user not match with token"
        404:
          description: "user not found for this id"
        409:
          description: "user already valid"
  /user/partial:
    post:
      tags:
      - "user"
      summary: "Creates a partial user account"
      description: ""
      operation_id: "createPartialAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The partial user account payload"
        required: true
        schema:
          $ref: "#/definitions/PartialAccountInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserOutput"
        409:
          description: "client id already exist for current partner"
    delete:
      tags:
      - "user"
      summary: "close an user account (and delete all user documents)"
      description: ""
      operation_id: "closePartialUserAccount"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "le user_id est manquant"
        403:
          description: "le compte a déjà été transformé"
        404:
          description: "utilisateur non trouvé"
  /user/senders/available:
    get:
      tags:
      - "user"
      summary: "retrieve senders availables for memebrships"
      description: ""
      operation_id: "retrieveAvailableSendersToNewMembership"
      produces:
      - "application/json"
      parameters:
      - name: "index"
        in: "query"
        description: "The index of the pagination"
        required: false
        type: "integer"
        format: "int32"
      - name: "max_results"
        in: "query"
        description: "The maximum number of results returned"
        required: false
        type: "integer"
        format: "int32"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/SenderList"
        400:
          description: "invalid parameters: resultSize and index are inseparables\
            \ (all null or together filled)"
  /user/delete_status:
    get:
      tags:
      - "user"
      operation_id: "getDeleteStatus"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/DeleteStatus"
          headers: {}
  /user/partial/full:
    post:
      tags:
      - "user"
      summary: "Create a new user, generate a web link and place premium offer."
      description: ""
      operation_id: "createPartialAccountWithOffer"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/PartialAccountFullInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserAndCustomUrlOutput"
        400:
          description: "Wrong or missing mandatory parameters, or unknown platform"
        404:
          description: "Product_id not found"
        409:
          description: "partner_user_id or purchase_transaction already exist for\
            \ current partner"
  /user/partial/merge:
    post:
      tags:
      - "user"
      summary: "Merge the partial account into the full user account"
      description: ""
      operation_id: "mergePartialAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The coregistration info of partial account"
        required: true
        schema:
          $ref: "#/definitions/CoregPartnerUserInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "partial account is not authorized to be merged with a company\
            \ account"
        409:
          description: "partial account and full account both have a membership to\
            \ the same sender who does not allow multiple memberships for the same\
            \ user"
  /user/partial/check_merge:
    post:
      tags:
      - "user"
      summary: "Determines if the merge of the partial account into the full user\
        \ account is possible"
      description: ""
      operation_id: "checkMergePartialAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "The coregistration infos concerning merge"
        required: true
        schema:
          $ref: "#/definitions/CheckPartialAccountMergeInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "partial account is not authorized to be merged with a company\
            \ account"
        409:
          description: "partial account and full account both have a membership to\
            \ the same sender who does not allow multiple memberships for the same\
            \ user"
  /user/ccu:
    post:
      tags:
      - "user"
      summary: "Create a digiposte user with an existing ccu user."
      description: ""
      operation_id: "createFullAccountWithCcu"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "token_ccu_input"
        description: "token utilisé pour contacter ccu avec la question et la réponse\
          \ secrète"
        required: true
        schema:
          $ref: "#/definitions/CcuAccountInput"
      - name: "pré-registration identifier"
        in: "query"
        description: "registrationId"
        required: false
        type: "string"
      - name: "Sender Security+ form field1 value"
        in: "query"
        description: "fieldValue1"
        required: false
        type: "string"
      - name: "Sender Security+ form field2 value"
        in: "query"
        description: "fieldValue2"
        required: false
        type: "string"
      - name: "customization token (coregistration)"
        in: "query"
        description: "tokenCustomization"
        required: false
        type: "string"
      - name: "trusted contact identifier"
        in: "query"
        description: "trustedContactId"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserRegistrationReport"
        400:
          description: "Missing parameters."
        404:
          description: "No ccu user has been found."
        409:
          description: "CCU user has no mails."
  /user/logins/available_ccu:
    get:
      tags:
      - "user"
      summary: "retrieve user's account that can be couple for given email and pid"
      description: ""
      operation_id: "getAvailableCcu"
      produces:
      - "application/json"
      parameters:
      - name: "email"
        in: "query"
        description: "Email for which we will search user's accounts"
        required: true
        type: "string"
      - name: "pid"
        in: "query"
        description: "Sender's public id for validations on membership"
        required: false
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserPearingInfoList"
        400:
          description: "invalid parameters"
  /user/ccu_user/{ccu_user_id}/data:
    get:
      tags:
      - "user"
      summary: "retrieve user account information by ccu_user_id"
      description: ""
      operation_id: "getUserByCCUId"
      produces:
      - "application/json"
      parameters:
      - name: "ccu_user_id"
        in: "path"
        description: "The CCU_USER_ID of the user to retrieve"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserOutput"
        400:
          description: "invalid ccu_user_id"
        404:
          description: "no user with this ccu_user_id"
  /user/ccu_user/{ccu_user_id}:
    get:
      tags:
      - "user"
      summary: "retrieve user account information by ccu_user_id"
      description: ""
      operation_id: "getUserIdByCCUId"
      produces:
      - "application/json"
      parameters:
      - name: "ccu_user_id"
        in: "path"
        description: "The CCU_USER_ID of the user to retrieve"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserOutput"
        400:
          description: "invalid ccu_user_id"
        404:
          description: "no user with this ccu_user_id"
  /user/merge:
    post:
      tags:
      - "user"
      summary: "Merge current account with target account without checking authentication"
      description: ""
      operation_id: "mergeFullAccountWithAnotherAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "account_merge_input"
        description: "Input utilisé pour merger deux comptes digipostes"
        required: true
        schema:
          $ref: "#/definitions/AccountMergeInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Missing parameters"
        500:
          description: "Internal server error"
        404:
          description: "User not found"
  /user/selfcare/merge/ccu:
    post:
      tags:
      - "user"
      summary: "Merge source account with target account after checking authentication"
      description: ""
      operation_id: "mergeFullAccountWithAnotherCCUAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "token_ccu_input"
        description: "token utilisé pour contacter ccu avec la question et la réponse\
          \ secrète"
        required: true
        schema:
          $ref: "#/definitions/CcuAuthenticationInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Missing parameters"
        401:
          description: "Unauthorized by CCU"
        500:
          description: "Internal server error"
        404:
          description: "User not found"
  /user/selfcare/merge/pinpad:
    post:
      tags:
      - "user"
      summary: "Merge source account with target account after checking authentication"
      description: ""
      operation_id: "mergeFullAccountWithAnotherPinpadAccount"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "token_ccu_input"
        description: "token utilisé pour contacter ccu avec la question et la réponse\
          \ secrète"
        required: true
        schema:
          $ref: "#/definitions/PinpadAuthenticationInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Missing parameters"
        401:
          description: "User and Password doesn't match"
        500:
          description: "Internal server error"
        404:
          description: "User not found"
  /user/ccu_account_checking:
    get:
      tags:
      - "user"
      summary: "Check an ccu account"
      description: ""
      operation_id: "checkCcuAccount"
      produces:
      - "application/json"
      parameters:
      - name: "email"
        in: "query"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/CcuAccountChecking"
        400:
          description: "Invalid check data (user or email)"
  /user/ccu_account:
    put:
      tags:
      - "user"
      summary: "Update user ccu account attachment"
      description: ""
      operation_id: "updateCcuLogin"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "Update data"
        required: true
        schema:
          $ref: "#/definitions/CcuUpdateInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        400:
          description: "Invalid CCU user token"
  /user/notif/routeCode/{routeCode}:
    get:
      tags:
      - "user"
      summary: "retrieve user  information for notif by routeCode"
      description: ""
      operation_id: "getUserInfosByRouteCode"
      produces:
      - "application/json"
      parameters:
      - name: "routeCode"
        in: "path"
        description: "routeCode"
        required: true
        type: "string"
      - name: "personalised"
        in: "query"
        description: "personalised"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserForNotif"
        404:
          description: "no user found with this routeCode"
  /user/{user_id}:
    get:
      tags:
      - "user"
      summary: "retrieve user account information by id"
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters:
      - name: "user_id"
        in: "path"
        description: "The user id to retrieve"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserOutput"
        400:
          description: "invalid id"
        404:
          description: "no user with this id"
  /user_consent/consent_data_team:
    get:
      tags:
      - "user_consent"
      summary: "Returns the consentData status"
      description: ""
      operation_id: "getUserConsent"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/ConsentDataDto"
  /user_consent:
    get:
      tags:
      - "user_consent"
      summary: "Get user consents"
      description: ""
      operation_id: "getUserConsents"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserConsentDTO"
    post:
      tags:
      - "user_consent"
      summary: "Create a user consent"
      description: ""
      operation_id: "createUserConsent"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        description: "Add user consent"
        required: true
        schema:
          $ref: "#/definitions/UserConsentInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserConsentDTO"
        201:
          description: "Created successfully."
        400:
          description: "Incorrect input values."
        409:
          description: "Trying to add same consent to the same user."
  /user_consent/consent_data_team/{consent_data_team}:
    put:
      tags:
      - "user_consent"
      summary: "Create a user consent"
      description: ""
      operation_id: "putUserDataConsent"
      produces:
      - "application/json"
      parameters:
      - name: "consent_data_team"
        in: "path"
        required: true
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
        204:
          description: "the consentData flag is not a valid boolean (true or false)"
  /user_consent/{consent_type}:
    delete:
      tags:
      - "user_consent"
      summary: "Delete a user consent"
      description: ""
      operation_id: "deleteUserConsent"
      produces:
      - "application/json"
      parameters:
      - name: "consent_type"
        in: "path"
        description: "Consent Type"
        required: true
        type: "string"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserConsentDTO"
        400:
          description: "Incorrect input values."
        204:
          description: "Deleted successfully."
        404:
          description: "Trying to remove an inexistant consent."
  /user_mail/is_existed:
    get:
      tags:
      - "user_mail"
      summary: "Check if the input email address is existed"
      description: ""
      operation_id: "isEmailExisted"
      produces:
      - "application/json"
      parameters:
      - name: "email"
        in: "query"
        required: true
        type: "string"
      - name: "mail_valid"
        in: "query"
        required: false
        type: "boolean"
      - name: "ccu_linked"
        in: "query"
        required: false
        type: "boolean"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /user_security/pairing/pin:
    get:
      tags:
      - "user_security"
      summary: "Gets the pin code for the current user pairing"
      description: ""
      operation_id: "getPinCode"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserSecurityPinData"
  /user_security/pairing/init:
    post:
      tags:
      - "user_security"
      summary: "Initialize a pairing for a totp authentication"
      description: ""
      operation_id: "recordSecret"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Response"
  /user_security/pairing/status:
    get:
      tags:
      - "user_security"
      summary: "Verifie le statut d'un appairage s'il est en cours ou pas"
      description: ""
      operation_id: "checkPairingStatus"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserSecurityStatusData"
  /user_security/2fa:
    put:
      tags:
      - "user_security"
      summary: "Update totp or sms status. Only the updated flag has to be provided. "
      description: ""
      operation_id: "updateTwoFactorStatus"
      consumes:
      - "application/json"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/UserSecurityTwoFactorInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserSecurityData"
        400:
          description: "Status may not be null."
        403:
          description: "Action requires reinforced token"
        409:
          description: "Inconsistent update status."
  /user_security/pairing/validate:
    post:
      tags:
      - "user_security"
      summary: "Validate the PIN number to finalize a pairing"
      description: ""
      operation_id: "validatePin"
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: true
        schema:
          $ref: "#/definitions/TotpInput"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserSecurityValidateData"
        412:
          description: "Wrong PIN number."
        408:
          description: "Pairing are no more available for the user "
  /user_security:
    get:
      tags:
      - "user_security"
      summary: "Return user security informations."
      description: ""
      operation_id: "get"
      produces:
      - "application/json"
      parameters: []
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/UserSecurityData"
definitions:
  CertifiedDocumentOutputWrapped:
    type: "object"
    properties:
      document_id:
        type: "string"
      type:
        type: "string"
      title:
        type: "string"
      file_name:
        type: "string"
      archive_duration:
        type: "string"
      author_tags:
        type: "string"
      hash:
        type: "string"
      algo:
        type: "string"
      file_size:
        type: "string"
      id_routage:
        type: "string"
  ProfileDocumentsInputData:
    type: "object"
    required:
    - "document_ids"
    properties:
      document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
      document_nature_id:
        type: "string"
  MembershipNoteInput:
    type: "object"
    properties:
      note:
        type: "string"
        min_length: 0
        max_length: 500
  ProcedureInput:
    type: "object"
    properties:
      name:
        type: "string"
  AddressInput:
    type: "object"
    properties:
      sub_locality:
        type: "string"
      street_address:
        type: "string"
      postal_code:
        type: "string"
        min_length: 0
        max_length: 36
      post_office_box:
        type: "string"
      locality:
        type: "string"
      extended_address:
        type: "string"
        min_length: 0
        max_length: 38
      country_code:
        type: "string"
  TrustedContactsData:
    type: "object"
    properties:
      trusted_contacts:
        type: "array"
        items:
          $ref: "#/definitions/TrustedContactData"
  PartnerInfo:
    type: "object"
    properties:
      client_id:
        type: "string"
      partner_id:
        type: "string"
  UserActionHelpStatus:
    type: "object"
    required:
    - "dashboard_help"
    - "help"
    properties:
      dashboard_help:
        type: "boolean"
        default: false
      help:
        type: "boolean"
        default: false
  AccountCreationInput:
    type: "object"
    required:
    - "ccu_user_id"
    - "route_code"
    properties:
      ccu_user_id:
        type: "string"
      route_code:
        type: "string"
  PasswordResetData:
    type: "object"
    required:
    - "password"
    properties:
      uri:
        type: "string"
      login:
        type: "string"
      password:
        $ref: "#/definitions/PinpadInput"
  OnboardingDTO:
    type: "object"
    required:
    - "onboarding_pid"
    properties:
      onboarding_pid:
        type: "string"
  ContactDetails:
    type: "object"
    properties:
      id:
        type: "string"
      first_name:
        type: "string"
      last_name:
        type: "string"
      relationship_type:
        type: "string"
        enum:
        - "GRANDPARENT"
        - "PARENT"
        - "PARTNER"
        - "CHILD"
        - "GRANDCHILD"
        - "OTHER"
        - "CONTACT"
      status:
        type: "string"
        enum:
        - "UNINVITED"
        - "WAITING_VALIDATION"
        - "VALID"
  ProfileEmailData:
    type: "object"
    properties:
      id:
        type: "string"
      email:
        type: "string"
      type:
        type: "string"
      valid:
        type: "boolean"
        default: false
  ContactData:
    type: "object"
    properties:
      id:
        type: "string"
      last_name:
        type: "string"
      first_name:
        type: "string"
      date_of_birth:
        type: "string"
        format: "date"
      phone:
        type: "string"
      email:
        type: "string"
      relationship_type:
        type: "string"
        enum:
        - "GRANDPARENT"
        - "PARENT"
        - "PARTNER"
        - "CHILD"
        - "GRANDCHILD"
        - "OTHER"
        - "CONTACT"
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
      photo:
        type: "boolean"
        default: false
      status:
        type: "string"
        enum:
        - "UNINVITED"
        - "WAITING_VALIDATION"
        - "VALID"
      share_id:
        type: "string"
  MediaType:
    type: "object"
    properties:
      type:
        type: "string"
      subtype:
        type: "string"
      parameters:
        type: "object"
        additional_properties:
          type: "string"
      wildcard_type:
        type: "boolean"
        default: false
      wildcard_subtype:
        type: "boolean"
        default: false
  FullUserAccountInput:
    type: "object"
    required:
    - "first_name"
    - "last_name"
    - "user_type"
    properties:
      title:
        type: "string"
      user_type:
        type: "string"
      last_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      first_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      date_of_birth:
        type: "string"
        format: "date"
      email:
        type: "string"
      login:
        type: "string"
        pattern: "^[A-Za-z0-9_\\-@\\.\\+]*$"
      siren_siret:
        type: "string"
      company_name:
        type: "string"
        min_length: 1
        max_length: 38
      secret_question:
        type: "string"
      secret_question_index:
        type: "integer"
        format: "int32"
      secret_answer:
        type: "string"
      optin:
        type: "boolean"
        default: false
      idn_information:
        $ref: "#/definitions/IDNInformation"
      partner_optin:
        type: "boolean"
        default: false
      address:
        $ref: "#/definitions/AddressInput"
      accept_full_dematerialization:
        type: "boolean"
        default: false
      locale:
        $ref: "#/definitions/Locale"
      raw_password:
        type: "string"
      valid_secret_question_data:
        type: "boolean"
        default: false
      valid:
        type: "boolean"
        default: false
  SenderRefList:
    type: "object"
    properties:
      senders:
        type: "array"
        items:
          $ref: "#/definitions/SenderRef"
  DeviceData:
    type: "object"
    required:
    - "token"
    - "type"
    properties:
      token:
        type: "string"
        min_length: 0
        max_length: 255
      type:
        type: "string"
      version:
        type: "string"
        min_length: 0
        max_length: 8
  FullDocumentMetaData:
    type: "object"
    properties:
      id:
        type: "string"
      category:
        type: "string"
      filename:
        type: "string"
      title:
        type: "string"
      subtitle:
        type: "string"
      summary:
        type: "string"
      mimetype:
        type: "string"
      size:
        type: "integer"
        format: "int32"
      creation_date:
        type: "string"
        format: "date-time"
      sender_name:
        type: "string"
      author_name:
        type: "string"
      health_document:
        type: "boolean"
        default: false
      sender_logo:
        type: "string"
      document_logo:
        type: "string"
      location:
        type: "string"
        enum:
        - "INBOX"
        - "SAFE"
        - "TRASH_INBOX"
        - "TRASH_SAFE"
      read:
        type: "boolean"
        default: false
      shared:
        type: "boolean"
        default: false
      digishoot:
        type: "boolean"
        default: false
      certified:
        type: "boolean"
        default: false
      self_care_url:
        type: "string"
      invoice:
        type: "boolean"
        default: false
      invoice_data:
        $ref: "#/definitions/InvoiceData"
      valid_until:
        type: "string"
        format: "date-time"
      eligible2ddoc:
        type: "boolean"
        default: false
      folder_id:
        type: "string"
      favorite:
        type: "boolean"
        default: false
      user_tags:
        type: "array"
        unique_items: true
        items:
          type: "string"
      sender_tags:
        type: "array"
        unique_items: true
        items:
          type: "string"
      owner:
        type: "boolean"
        default: false
      digishoot_data:
        $ref: "#/definitions/GeolocalizedData"
      geolocalized:
        type: "boolean"
        default: false
      geolocalize_data:
        $ref: "#/definitions/GeolocalizedData"
      verification_status:
        type: "string"
        enum:
        - "REJECTED"
        - "UNREADABLE"
        - "EXPIRED"
        - "VALIDATED"
        - "PENDING"
        - "UNREACHABLE"
        - "CALL"
      verify_profile:
        type: "boolean"
        default: false
      universes:
        $ref: "#/definitions/UniverseItemSets"
      reference_doc:
        type: "boolean"
        default: false
      nature_pid:
        type: "array"
        items:
          type: "string"
      nature_id:
        type: "string"
      nature_name:
        type: "object"
        additional_properties:
          type: "string"
      category_id:
        type: "string"
      category_name:
        type: "object"
        additional_properties:
          type: "string"
      category_icon:
        type: "string"
      category_pid:
        type: "string"
      extension:
        type: "string"
  ShareViewOwner:
    type: "object"
    properties:
      user_type:
        type: "string"
        enum:
        - "PERSON"
        - "COMPANY"
      title:
        type: "string"
      first_name:
        type: "string"
      last_name:
        type: "string"
      company_name:
        type: "string"
  AccountInput:
    type: "object"
    required:
    - "ccu_user_id"
    properties:
      ccu_user_id:
        type: "string"
      code_regate:
        type: "string"
        min_length: 0
        max_length: 32
  EmployerDataInput:
    type: "object"
    required:
    - "type"
    properties:
      name:
        type: "string"
      begin_date:
        type: "string"
        format: "date"
      end_date:
        type: "string"
        format: "date"
      position:
        type: "string"
      current_position:
        type: "boolean"
        default: false
      type:
        type: "string"
        enum:
        - "PROFESSION"
        - "APPRENTICESHIP"
        - "RETIREMENT"
        - "SCHOOLING"
        - "VOLUNTEER"
        - "INTERNSHIP"
        - "OTHER"
  MultiTagData:
    type: "object"
    required:
    - "tags"
    properties:
      tags:
        type: "object"
        additional_properties:
          type: "array"
          unique_items: true
          items:
            type: "string"
  AuthorizedApplication:
    type: "object"
    properties:
      client_id:
        type: "string"
      created_at:
        type: "string"
        format: "date-time"
      logo_url:
        type: "string"
      application_name:
        type: "string"
      localized_authorize_text:
        $ref: "#/definitions/LocalizedString"
  ShareView:
    type: "object"
    properties:
      share_data:
        $ref: "#/definitions/ShareViewData"
      owner:
        $ref: "#/definitions/ShareViewOwner"
      documents:
        type: "array"
        items:
          $ref: "#/definitions/ShareViewDateDocumentList"
      total_document_count:
        type: "integer"
        format: "int32"
  CollectedTransactionStateMap:
    type: "object"
    properties:
      transactions:
        type: "object"
        additional_properties:
          $ref: "#/definitions/CollectedTransactionState"
  ProfileMails:
    type: "object"
    properties:
      mails:
        type: "array"
        items:
          $ref: "#/definitions/ProfileEmailData"
  SharedDocuments:
    type: "object"
    properties:
      user_documents:
        type: "array"
        items:
          $ref: "#/definitions/SharedDocument"
      sender_documents:
        type: "array"
        items:
          $ref: "#/definitions/SharedDocument"
  RegistrationSecurityPlusForm:
    type: "object"
    properties:
      registration_process:
        type: "string"
        enum:
        - "ADH"
        - "AFF"
        - "ASD"
        - "ASS"
      sender_meta_data:
        $ref: "#/definitions/SenderMetaData"
      user_meta_data:
        $ref: "#/definitions/UserMetaData"
  DataSource:
    type: "object"
    properties:
      name:
        type: "string"
      input_stream:
        $ref: "#/definitions/InputStream"
      content_type:
        type: "string"
      output_stream:
        $ref: "#/definitions/OutputStream"
  RawPasswordToVerifyData:
    type: "object"
    properties:
      password:
        type: "string"
  CcuAccountChecking:
    type: "object"
    properties:
      code:
        type: "string"
  TrashActionResponse:
    type: "object"
    properties:
      involved_documents:
        type: "integer"
        format: "int64"
      unread_documents:
        type: "array"
        items:
          $ref: "#/definitions/WarningDocumentOutput"
      certified_documents:
        type: "array"
        items:
          $ref: "#/definitions/WarningDocumentOutput"
      shared_documents:
        type: "array"
        items:
          $ref: "#/definitions/WarningDocumentOutput"
      procedure_documents:
        type: "array"
        items:
          $ref: "#/definitions/WarningDocumentOutput"
  MembershipIdsInput:
    type: "object"
    properties:
      ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
  CommandInfo:
    type: "object"
    properties:
      command_name:
        type: "string"
      command_class:
        type: "string"
  ShareDetails:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      start_date:
        type: "string"
        format: "date-time"
      expiration_date:
        type: "string"
        format: "date-time"
  DocumentNatureInput:
    type: "object"
    properties:
      nature_id:
        type: "string"
      document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
  PinpadAuthenticationInput:
    type: "object"
    properties:
      login:
        type: "string"
      password:
        type: "string"
        pattern: "[0-9]{6}"
  ContactInvitationData:
    type: "object"
    properties:
      accepted:
        type: "boolean"
        default: false
  UserRegistrationReport:
    type: "object"
    properties:
      user:
        $ref: "#/definitions/UserOutput"
      registration:
        $ref: "#/definitions/RegistrationStatus"
      nb_document_by_user_id:
        type: "integer"
        format: "int32"
  MembershipOptoutFieldOneValidation:
    type: "object"
    properties:
      sender_pid:
        type: "string"
      field_one:
        type: "string"
      available:
        type: "boolean"
        default: false
  MembershipOptinInput:
    type: "object"
    required:
    - "partner_user_id"
    properties:
      partner_user_id:
        type: "string"
        pattern: "[-_a-zA-Z0-9]{1,255}"
      secret_code:
        type: "string"
        pattern: "[-_a-zA-Z0-9]{1,255}"
      title:
        type: "string"
      firstname:
        type: "string"
        min_length: 0
        max_length: 32
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      lastname:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      email:
        type: "string"
      send_mail:
        type: "boolean"
        default: false
  PartnerInput:
    type: "object"
    required:
    - "oauth"
    - "partner"
    properties:
      partner:
        $ref: "#/definitions/PartnerDto"
      oauth:
        $ref: "#/definitions/PartnerOauthDto"
  ConnectionData:
    type: "object"
    properties:
      user_agent_data:
        $ref: "#/definitions/UserAgentData"
      connected_at:
        type: "string"
        format: "date-time"
      client_ip:
        type: "string"
  UserOutput:
    type: "object"
    properties:
      partner_user_id:
        type: "string"
      created_at:
        type: "string"
        format: "date-time"
      title:
        type: "string"
      last_name:
        type: "string"
      first_name:
        type: "string"
      date_of_birth:
        type: "string"
        format: "date"
      email:
        type: "string"
      partial_account:
        type: "boolean"
        default: false
      status:
        type: "string"
        enum:
        - "CREATED"
        - "TEMPORALLY_VALID"
        - "VALID"
        - "CANCELED"
        - "REMOVED"
        - "TO_BE_PURGED"
      id_xiti:
        type: "integer"
        format: "int64"
      login:
        type: "string"
      user_type:
        type: "string"
        enum:
        - "PERSON"
        - "COMPANY"
      partner:
        $ref: "#/definitions/PartnerInfos"
      account_type:
        type: "string"
        enum:
        - "IHM"
        - "REGISTRATION"
        - "COREGISTRATION"
        - "VALIDATE_MEMBERSHIP"
      procedures:
        type: "array"
        items:
          $ref: "#/definitions/LightUserProcedureData"
      idnlinked:
        type: "boolean"
        default: false
  CertifiedDocumentOutput:
    type: "object"
    properties:
      document:
        $ref: "#/definitions/CertifiedDocumentOutputWrapped"
  TimelineStatusInput:
    type: "object"
    properties:
      hidden:
        type: "boolean"
        default: false
      archived:
        type: "boolean"
        default: false
  UserProcedureIdInput:
    type: "object"
    properties:
      user_procedure_id:
        type: "string"
  Notification:
    type: "object"
    properties:
      id:
        type: "string"
      type:
        type: "string"
        enum:
        - "MODIFIED_PROCEDURE"
        - "VALIDATED_PROCEDURE"
        - "REJECTED_PROCEDURE"
        - "ADDED_DOCUMENT_IN_PROCEDURE"
        - "VALIDATED_TRUSTED_CONTACT_REQUEST"
        - "VALIDATED_TRUSTED_CONTACT"
        - "REFUSED_TRUSTED_CONTACT"
      read:
        type: "boolean"
        default: false
      date:
        type: "string"
        format: "date-time"
      document:
        $ref: "#/definitions/DocumentNotification"
      procedure:
        $ref: "#/definitions/ProcedureNotification"
      user:
        $ref: "#/definitions/UserNotification"
      partner:
        $ref: "#/definitions/PartnerData"
  DownloadInput:
    type: "object"
    properties:
      document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
      folder_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
      empty:
        type: "boolean"
        default: false
  UserAndCustomUrlOutput:
    type: "object"
    properties:
      partner_user_id:
        type: "string"
      created_at:
        type: "string"
        format: "date-time"
      customization_url:
        type: "string"
  EmployerData:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      picture:
        type: "boolean"
        default: false
      begin_date:
        type: "string"
        format: "date"
      end_date:
        type: "string"
        format: "date"
      position:
        type: "string"
      current_position:
        type: "boolean"
        default: false
      type:
        type: "string"
        enum:
        - "PROFESSION"
        - "APPRENTICESHIP"
        - "RETIREMENT"
        - "SCHOOLING"
        - "VOLUNTEER"
        - "INTERNSHIP"
        - "OTHER"
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
  MembershipAliasInput:
    type: "object"
    properties:
      alias:
        type: "string"
  PublisherSimplified:
    type: "object"
    properties:
      parent_publisher_id:
        type: "string"
      publisher_id:
        type: "string"
      legal_name:
        type: "string"
  InvoiceData:
    type: "object"
    properties:
      payment_indicator:
        type: "string"
        enum:
        - "PRE_AUTHORIZED_PAYMENT"
        - "TO_PAY"
        - "PAYED"
        - "CANCELLED"
        - "PAYED_WITH_DIGIPOSTE"
      payment_indicator_update:
        type: "string"
        enum:
        - "PRE_AUTHORIZED_PAYMENT"
        - "TO_PAY"
        - "PAYED"
        - "CANCELLED"
        - "PAYED_WITH_DIGIPOSTE"
      chargeable_amount:
        type: "number"
        format: "float"
      due_on:
        type: "string"
        format: "date-time"
      currency:
        type: "string"
      payable:
        type: "boolean"
        default: false
      transaction_id:
        type: "string"
      transaction_epel_date:
        type: "string"
        format: "date-time"
  GoodDetails:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      type:
        type: "string"
  UserSecurityPinData:
    type: "object"
    properties:
      value:
        type: "string"
      expired_at:
        type: "string"
        format: "date-time"
  NewCookie:
    type: "object"
    properties:
      name:
        type: "string"
      value:
        type: "string"
      version:
        type: "integer"
        format: "int32"
      path:
        type: "string"
      domain:
        type: "string"
      comment:
        type: "string"
      max_age:
        type: "integer"
        format: "int32"
      expiry:
        type: "string"
        format: "date-time"
      secure:
        type: "boolean"
        default: false
      http_only:
        type: "boolean"
        default: false
  DocumentShareDataInput:
    type: "object"
    required:
    - "end_date"
    - "start_date"
    properties:
      description:
        type: "string"
      start_date:
        type: "string"
        format: "date-time"
      end_date:
        type: "string"
        format: "date-time"
      recipient_mails:
        type: "array"
        unique_items: true
        items:
          type: "string"
      security_code:
        type: "string"
      title:
        type: "string"
      share_date_range_under_one_year:
        type: "boolean"
        default: false
  NotificationPreferenceList:
    type: "object"
    properties:
      preferences:
        type: "array"
        items:
          $ref: "#/definitions/NotificationPreference"
  UserPearingInfoList:
    type: "object"
    properties:
      logins:
        type: "array"
        items:
          $ref: "#/definitions/UserPearingInfo"
      count:
        type: "integer"
        format: "int32"
  CreatedSenderResponse:
    type: "object"
    properties:
      id:
        type: "string"
      pid:
        type: "string"
  OfferCharacteristicMetaData:
    type: "object"
    properties:
      type:
        type: "string"
      value:
        type: "integer"
        format: "int64"
  PhoneNumbersList:
    type: "object"
    properties:
      phones:
        type: "array"
        items:
          $ref: "#/definitions/PhoneNumberData"
  DocumentSearch:
    type: "object"
    properties:
      locations:
        type: "array"
        unique_items: true
        items:
          type: "string"
          enum:
          - "INBOX"
          - "SAFE"
          - "TRASH_INBOX"
          - "TRASH_SAFE"
      document_types:
        type: "array"
        unique_items: true
        items:
          type: "string"
      mimetypes:
        type: "array"
        unique_items: true
        items:
          type: "string"
      text:
        type: "string"
      sender_names:
        type: "array"
        unique_items: true
        items:
          type: "string"
      author_names:
        type: "array"
        unique_items: true
        items:
          type: "string"
      user_tags:
        type: "array"
        unique_items: true
        items:
          type: "string"
      user_tags_operator:
        type: "string"
        enum:
        - "AND"
        - "OR"
      sender_tags:
        type: "array"
        unique_items: true
        items:
          type: "string"
      sender_tags_operator:
        type: "string"
        enum:
        - "AND"
        - "OR"
      tags:
        type: "array"
        unique_items: true
        items:
          type: "string"
      tags_operator:
        type: "string"
        enum:
        - "AND"
        - "OR"
      document_read:
        type: "boolean"
        default: false
      document_shared:
        type: "boolean"
        default: false
      document_digishoot:
        type: "boolean"
        default: false
      document_certified:
        type: "boolean"
        default: false
      creation_date_ranges:
        type: "array"
        unique_items: true
        items:
          type: "string"
          enum:
          - "CURRENT_DAY"
          - "CURRENT_WEEK"
          - "CURRENT_MONTH"
          - "CURRENT_YEAR"
          - "BEFORE_CURRENT_YEAR"
      creation_date_ranges_operator:
        type: "string"
        enum:
        - "AND"
        - "OR"
      document_sources:
        type: "array"
        unique_items: true
        items:
          type: "string"
          enum:
          - "SENDER"
          - "USER"
          - "DIGIPOSTE"
      references:
        type: "array"
        unique_items: true
        items:
          type: "string"
      folder_id:
        type: "string"
      favorite:
        type: "boolean"
        default: false
      user_removal:
        type: "boolean"
        default: false
      health:
        type: "boolean"
        default: false
      nature_pid:
        type: "string"
      nature_pid_inputs:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/DocumentNaturePidInput"
  UserForNotif:
    type: "object"
    properties:
      first_name:
        type: "string"
      last_name:
        type: "string"
      email:
        type: "string"
      title:
        type: "string"
      locale:
        type: "string"
  ProfileSafeSize:
    type: "object"
    properties:
      actual_safe_size:
        type: "integer"
        format: "int64"
  HealthDataList:
    type: "object"
    properties:
      healths:
        type: "array"
        items:
          $ref: "#/definitions/HealthData"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  DocumentsFacet:
    type: "object"
    properties:
      document_types:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
      user_tags:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
      sender_tags:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
      sender_names_certified_documents:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
      sender_names_uncertified_documents:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
      author_names_certified_documents:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
      author_names_uncertified_documents:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
      date_ranges:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
  Agreement:
    type: "object"
    properties:
      version:
        type: "string"
      date:
        type: "string"
        format: "date-time"
  SimpleProfileData:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      first_name:
        type: "string"
      last_name:
        type: "string"
      birth_name:
        type: "string"
      date_of_birth:
        type: "string"
        format: "date"
      id_xiti:
        type: "integer"
        format: "int64"
      login:
        type: "string"
      user_type:
        type: "string"
        enum:
        - "PERSON"
        - "COMPANY"
      status:
        type: "string"
        enum:
        - "CREATED"
        - "TEMPORALLY_VALID"
        - "VALID"
        - "CANCELED"
        - "REMOVED"
        - "TO_BE_PURGED"
      company_name:
        type: "string"
      siren_siret:
        type: "string"
      space_used:
        type: "integer"
        format: "int64"
      space_free:
        type: "integer"
        format: "int64"
      space_max:
        type: "integer"
        format: "int64"
      space_not_computed:
        type: "integer"
        format: "int64"
      author_name:
        type: "string"
      support_available:
        type: "boolean"
        default: false
      secret_question_available:
        type: "boolean"
        default: false
      tos_version:
        type: "string"
      tos_updated_at:
        type: "string"
        format: "date-time"
      share_space_status:
        type: "string"
        enum:
        - "NEED_COMPANY_DOCUMENTS"
        - "LOCKED"
        - "ACTIVE"
      partial_account:
        type: "boolean"
        default: false
      basic_user:
        type: "boolean"
        default: false
      offer_pid:
        type: "string"
      offer_updated_at:
        type: "string"
        format: "date-time"
      show2ddoc:
        type: "boolean"
        default: false
      idn_valid:
        type: "boolean"
        default: false
      last_connexion_date:
        type: "string"
        format: "date-time"
      completion:
        type: "integer"
        format: "int32"
      locale:
        $ref: "#/definitions/Locale"
      verified_documents:
        type: "array"
        items:
          $ref: "#/definitions/VerifiedDocumentData"
      verify_profile:
        type: "string"
        enum:
        - "VERIFIED"
        - "NO_VERIFIED"
        - "PENDING"
      offer:
        $ref: "#/definitions/ProfileOfferData"
      ccu_user:
        type: "boolean"
        default: false
      partner_name:
        type: "string"
      new_offer:
        type: "boolean"
        default: false
      other_offer:
        type: "string"
      first_connection:
        type: "boolean"
        default: false
      salaried:
        type: "boolean"
        default: false
      indexation_consent:
        type: "boolean"
        default: false
      ccu_user_id:
        type: "string"
      international:
        type: "boolean"
        default: false
  EmployerDataList:
    type: "object"
    properties:
      employers:
        type: "array"
        items:
          $ref: "#/definitions/EmployerData"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  SenderMetaData:
    type: "object"
    properties:
      id:
        type: "string"
      pid:
        type: "string"
      form_data:
        $ref: "#/definitions/FormData"
      name:
        type: "string"
      logo:
        type: "string"
      alternative_logo:
        type: "string"
      type:
        type: "string"
      sender_side_convention:
        type: "boolean"
        default: false
      subscription_url:
        type: "string"
      convention_url:
        type: "string"
      convention_version:
        type: "string"
      document_naming:
        type: "string"
      auto_resiliation:
        type: "boolean"
        default: false
      category:
        type: "string"
      category_id:
        type: "string"
      document_nature_id:
        type: "string"
      collected:
        type: "boolean"
        default: false
      contracted:
        type: "boolean"
        default: false
      contracted_creation_enabled:
        type: "boolean"
        default: false
      url_selfcare:
        type: "string"
      url_sign_up:
        type: "string"
      url_lost_password:
        type: "string"
      push_block:
        type: "string"
      vip:
        type: "boolean"
        default: false
      hr:
        type: "boolean"
        default: false
      optional_address:
        type: "boolean"
        default: false
      multilingual:
        type: "boolean"
        default: false
      convention_required:
        type: "boolean"
        default: false
      mail_trust:
        type: "boolean"
        default: false
      dynamic_subscription:
        type: "boolean"
        default: false
      api_collected:
        type: "boolean"
        default: false
      manual_collect:
        type: "boolean"
        default: false
      pro_collector:
        type: "boolean"
        default: false
      maintenance:
        type: "boolean"
        default: false
      share_cancel_consent_url:
        type: "string"
      unsubscribe_expiration_time:
        type: "integer"
        format: "int32"
      multi_subscription:
        type: "boolean"
        default: false
      biller:
        type: "boolean"
        default: false
  AuthorizedApplications:
    type: "object"
    properties:
      authorized_applications:
        type: "array"
        items:
          $ref: "#/definitions/AuthorizedApplication"
  GoodData:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      picture:
        type: "boolean"
        default: false
      buy_date:
        type: "string"
        format: "date"
      caution_date:
        type: "string"
        format: "date"
      type:
        type: "string"
        enum:
        - "AUTOMOTIVE"
        - "FURNISHING"
        - "COMPUTER_MULTIMEDIA"
        - "TELEPHONY"
        - "CLOTH_ACCESORY"
        - "JEWELLERY"
        - "HOME"
        - "OTHER"
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
  HousingData:
    type: "object"
    properties:
      id:
        type: "string"
      label:
        type: "string"
      street_address:
        type: "string"
      extended_address:
        type: "string"
      post_office_box:
        type: "string"
      postal_code:
        type: "string"
      locality:
        type: "string"
      sub_locality:
        type: "string"
      country_code:
        type: "string"
      housing_type:
        type: "string"
        enum:
        - "MAIN"
        - "SECONDARY"
        - "VACATION"
        - "OTHER"
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
      photo:
        type: "boolean"
        default: false
      verified:
        type: "boolean"
        default: false
  PartialAccountTypedInput:
    type: "object"
    properties:
      title:
        type: "string"
      last_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      first_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      date_of_birth:
        type: "string"
        format: "date"
      birth_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      email:
        type: "string"
      partner_user_id:
        type: "string"
        min_length: 0
        max_length: 64
      user_type:
        type: "string"
        pattern: "^(PERSON)|(COMPANY)$"
      company_name:
        type: "string"
        min_length: 0
        max_length: 50
      company_mandatory_attributs_set_or_null:
        type: "boolean"
        default: false
  SenderSearch:
    type: "object"
    properties:
      name:
        type: "string"
      category_id:
        type: "string"
      collected:
        type: "boolean"
        default: false
      hr:
        type: "boolean"
        default: false
  CcuAccountInput:
    type: "object"
    properties:
      token_ccu:
        type: "string"
      secret_question_index:
        type: "integer"
        format: "int32"
      secret_answer:
        type: "string"
      accept_full_dematerialization:
        type: "boolean"
        default: false
      contributor:
        type: "string"
      valid_secret_question_data:
        type: "boolean"
        default: false
  PartnerOneClickDownloadRequest:
    type: "object"
    properties:
      password:
        type: "string"
      partner_safe_id:
        type: "string"
        min_length: 1
        max_length: 64
  QualifyProcedureInput:
    type: "object"
    required:
    - "status"
    properties:
      status:
        type: "string"
        enum:
        - "STARTED"
        - "REQUESTED"
        - "VALIDATED"
        - "COMPLETED"
        - "OBSOLETED"
      refusal_ground:
        type: "string"
      refused_documents:
        type: "array"
        items:
          $ref: "#/definitions/RefusedDocument"
  Dashboard:
    type: "object"
    properties:
      number_of_documents:
        type: "integer"
        format: "int64"
      number_of_shares:
        type: "integer"
        format: "int64"
      number_of_collected_memberships:
        type: "integer"
        format: "int64"
      number_of_memberships:
        type: "integer"
        format: "int64"
      number_of_unread_documents:
        type: "integer"
        format: "int64"
      number_of_documents_in_inbox:
        type: "integer"
        format: "int64"
      number_of_read_documents_in_inbox:
        type: "integer"
        format: "int64"
      number_of_unread_documents_in_inbox:
        type: "integer"
        format: "int64"
      number_of_documents_in_safe:
        type: "integer"
        format: "int64"
      number_of_certified_documents_in_safe:
        type: "integer"
        format: "int64"
      number_of_personnal_documents_in_safe:
        type: "integer"
        format: "int64"
      addresses:
        type: "array"
        items:
          $ref: "#/definitions/ProfileAddressData"
      memberships:
        type: "array"
        items:
          $ref: "#/definitions/MembershipMetaData"
      trusted_contacts:
        type: "array"
        items:
          $ref: "#/definitions/TrustedContactData"
      legators:
        type: "array"
        items:
          $ref: "#/definitions/Legator"
  HousingDetails:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      type:
        type: "string"
  SubscriptionInfo:
    type: "object"
    properties:
      subscription_url:
        type: "string"
  ConsentData:
    type: "object"
    properties:
      consent_type:
        type: "string"
  PartnerOauthDto:
    type: "object"
    required:
    - "callback_urls"
    - "enabled"
    - "workflows"
    properties:
      callback_urls:
        type: "array"
        items:
          type: "string"
      enabled:
        type: "boolean"
        default: false
      refresh_token_validity:
        type: "integer"
        format: "int32"
      access_token_validity:
        type: "integer"
        format: "int32"
      workflows:
        type: "array"
        items:
          type: "string"
  UniverseItemSets:
    type: "object"
    properties:
      goods:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/ItemData"
      contacts:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/ItemData"
      jobs:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/ItemData"
      housings:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/ItemData"
      health:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/ItemData"
  ProfileMailToDigiposte:
    type: "object"
    properties:
      mailtodigiposte:
        type: "string"
      validity_end_date:
        type: "string"
        format: "date-time"
  FolderTreeViewList:
    type: "object"
    properties:
      folders:
        type: "array"
        items:
          $ref: "#/definitions/FolderTreeView"
      document_count:
        type: "integer"
        format: "int32"
  ProcedureShareDataInput:
    type: "object"
    required:
    - "end_date"
    - "start_date"
    properties:
      description:
        type: "string"
      start_date:
        type: "string"
        format: "date-time"
      end_date:
        type: "string"
        format: "date-time"
      recipient_mails:
        type: "array"
        unique_items: true
        items:
          type: "string"
      security_code:
        type: "string"
      share_date_range_under_one_year:
        type: "boolean"
        default: false
  DownloadInfo:
    type: "object"
  FormData:
    type: "object"
    properties:
      sender_pid:
        type: "string"
      presentation:
        type: "string"
      field1_label:
        type: "string"
      field2_label:
        type: "string"
      field1_tooltip:
        type: "string"
      field2_tooltip:
        type: "string"
      example_field1:
        type: "string"
      example_field2:
        type: "string"
      more_info:
        type: "string"
      creation_info:
        type: "string"
      security_plus:
        type: "boolean"
        default: false
  HealthData:
    type: "object"
    properties:
      civility:
        type: "string"
        enum:
        - "M"
        - "MME"
        - "DR"
        - "PR"
      id:
        type: "string"
      first_name:
        type: "string"
      pro_type:
        type: "string"
        enum:
        - "GENERAL_PRACTITIONER"
        - "DENTIST"
        - "NURSE"
        - "OPHTHALMOLOGIST"
        - "PAEDIATRICIAN"
        - "SPECIALIST"
        - "OTHER"
      address:
        type: "string"
      web_site:
        type: "string"
      mail:
        type: "string"
      phone_number:
        type: "string"
      appointment_link:
        type: "string"
      regular_doctor:
        type: "boolean"
        default: false
      name:
        type: "string"
      picture:
        type: "boolean"
        default: false
      item_type:
        type: "string"
        enum:
        - "MEDICAL_PROFESSIONAL"
        - "MEDICAL_ANALYSIS_LABORATORY"
        - "GENERAL_HEALTH_CARE_SYSTEM"
        - "MSA_HEALTH_CARE_SYSTEM"
        - "MSI_HEALTH_CARE_SYSTEM"
        - "OTHER_HEALTH_CARE_SYSTEM"
        - "MUTUAL_HEALTH"
        - "OTHER"
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
  GoodInput:
    type: "object"
    required:
    - "type"
    properties:
      name:
        type: "string"
      buy_date:
        type: "string"
        format: "date"
      caution_date:
        type: "string"
        format: "date"
      type:
        type: "string"
        enum:
        - "AUTOMOTIVE"
        - "FURNISHING"
        - "COMPUTER_MULTIMEDIA"
        - "TELEPHONY"
        - "CLOTH_ACCESORY"
        - "JEWELLERY"
        - "HOME"
        - "OTHER"
  PhoneNumberInput:
    type: "object"
    required:
    - "label"
    - "phone_number"
    - "type"
    properties:
      phone_number:
        type: "string"
      type:
        type: "string"
      label:
        type: "string"
        min_length: 0
        max_length: 64
  MembershipAddress:
    type: "object"
    properties:
      sub_locality:
        type: "string"
      street_address:
        type: "string"
      postal_code:
        type: "string"
        min_length: 0
        max_length: 36
      post_office_box:
        type: "string"
      locality:
        type: "string"
      extended_address:
        type: "string"
        min_length: 0
        max_length: 38
      country_code:
        type: "string"
  TrustedContactDetails:
    type: "object"
    properties:
      id:
        type: "string"
      family_name:
        type: "string"
      given_name:
        type: "string"
  SenderRef:
    type: "object"
    properties:
      pid:
        type: "string"
      name:
        type: "string"
  PartialAccountFullInput:
    type: "object"
    required:
    - "platform"
    properties:
      title:
        type: "string"
      last_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      first_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      date_of_birth:
        type: "string"
        format: "date"
      birth_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      email:
        type: "string"
      partner_user_id:
        type: "string"
        min_length: 0
        max_length: 64
      purchase_transaction:
        type: "string"
      platform:
        type: "string"
      product_id:
        type: "string"
      partner_plan:
        type: "string"
  NotificationInput:
    type: "object"
    required:
    - "read"
    properties:
      read:
        type: "boolean"
        default: false
  CcuUpdateInput:
    type: "object"
    properties:
      token:
        type: "string"
  HousingDataList:
    type: "object"
    properties:
      housings:
        type: "array"
        items:
          $ref: "#/definitions/HousingData"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  ApiAccessDto:
    type: "object"
    required:
    - "http_method"
    - "operation"
    - "resource"
    properties:
      http_method:
        type: "string"
      resource:
        type: "string"
      operation:
        type: "string"
  RegistrationCheckAuthorizationInput:
    type: "object"
    properties:
      login:
        type: "string"
  MembershipOptinOutput:
    type: "object"
    properties:
      registration_code:
        type: "string"
      account_code:
        type: "string"
      route_code:
        type: "string"
      purl:
        type: "string"
      status:
        type: "string"
      code:
        type: "string"
      message:
        type: "string"
      status_code:
        type: "string"
      pid:
        type: "string"
  DocumentDetails:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      verification_status:
        type: "string"
      folder_id:
        type: "string"
      folder_name:
        type: "string"
      document_natures:
        type: "array"
        items:
          type: "string"
      document_counts:
        type: "integer"
        format: "int64"
      logo_url:
        type: "string"
      verified_profile:
        type: "boolean"
        default: false
  PartialAccountInput:
    type: "object"
    properties:
      title:
        type: "string"
      last_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      first_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      date_of_birth:
        type: "string"
        format: "date"
      birth_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      email:
        type: "string"
      partner_user_id:
        type: "string"
        min_length: 0
        max_length: 64
      with_membership_creation:
        type: "boolean"
        default: false
  UserOfferInput:
    type: "object"
    required:
    - "platform"
    properties:
      purchase_transaction:
        type: "string"
      platform:
        type: "string"
      order_id:
        type: "string"
      product_id:
        type: "string"
  NotificationPreference:
    type: "object"
    properties:
      type:
        type: "string"
      enable:
        type: "boolean"
        default: false
  TimeLineEvent:
    type: "object"
    properties:
      id:
        type: "string"
      type:
        type: "string"
      category:
        type: "string"
      action_date:
        type: "string"
        format: "date-time"
      date:
        type: "string"
        format: "date-time"
      status:
        type: "string"
        enum:
        - "ARCHIVED"
        - "NOT_ARCHIVED"
      document:
        $ref: "#/definitions/DocumentDetails"
      membership:
        $ref: "#/definitions/MembershipDetails"
      procedure:
        $ref: "#/definitions/ProcedureDetails"
      sender:
        $ref: "#/definitions/SenderDetails"
      share:
        $ref: "#/definitions/ShareDetails"
      folder:
        $ref: "#/definitions/FolderDetails"
      trusted_contact:
        $ref: "#/definitions/TrustedContactDetails"
      profil_details:
        $ref: "#/definitions/ProfileDetails"
      reminder_details:
        $ref: "#/definitions/ReminderDetails"
      delete_documents_count:
        type: "integer"
        format: "int64"
      document_nature_pid:
        type: "string"
      user_procedure_id:
        type: "string"
      folder_count:
        type: "integer"
        format: "int32"
      quota_used:
        type: "integer"
        format: "int32"
      coreg_partner_user_id:
        type: "string"
      contact:
        $ref: "#/definitions/ContactDetails"
      good:
        $ref: "#/definitions/GoodDetails"
      housing:
        $ref: "#/definitions/HousingDetails"
      message:
        type: "string"
      sender_email:
        type: "string"
      nb_uploaded_doc:
        type: "integer"
        format: "int32"
  ReminderData:
    type: "object"
    required:
    - "date"
    - "title"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      date:
        type: "string"
        format: "date-time"
      document_id:
        type: "string"
      procedure_id:
        type: "string"
  ProfileNotificationStatus:
    type: "object"
    properties:
      notification_status:
        type: "boolean"
        default: false
  TrustedContactData:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      given_name:
        type: "string"
      family_name:
        type: "string"
      email:
        type: "string"
      date_of_birth:
        type: "string"
        format: "date"
      status:
        type: "string"
        enum:
        - "REFUSED"
        - "WAITING"
        - "ACCEPTED"
      legator:
        $ref: "#/definitions/LegatorData"
  SenderForFolderMetaData:
    type: "object"
    properties:
      name:
        type: "string"
      pid:
        type: "string"
      thumbnail:
        type: "string"
      logo:
        type: "string"
      url_selfcare:
        type: "string"
      membership_field_one:
        type: "string"
  ProfileDocumentList:
    type: "object"
    properties:
      documents:
        type: "array"
        items:
          $ref: "#/definitions/Asset"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  UserSecurityTwoFactorInput:
    type: "object"
    properties:
      status:
        type: "boolean"
        default: false
      valid_statuses:
        type: "boolean"
        default: false
      sms_status:
        type: "boolean"
        default: false
      totp_status:
        type: "boolean"
        default: false
  CollectedTransactionState:
    type: "object"
    properties:
      state:
        type: "string"
        enum:
        - "PENDING"
        - "WAIT_2FA"
        - "VALID"
        - "INVALID_CREDENTIALS"
        - "INVALID_DATA"
        - "CHECK_ACCOUNT"
        - "DEMATERIALISATION_NEEDED"
        - "BAD_2FA"
        - "ERROR"
      sub_state:
        type: "string"
        enum:
        - "OTP"
        - "STRONG_AUTH"
      wait_for_user_label:
        type: "string"
  FolderTreeViewListWithRoot:
    type: "object"
    properties:
      tree:
        $ref: "#/definitions/FolderTreeViewList"
      root_id:
        type: "string"
      root_name:
        type: "string"
      document_count:
        type: "integer"
        format: "int32"
  ProcedureStatusInput:
    type: "object"
    properties:
      status:
        type: "string"
        enum:
        - "STARTED"
        - "REQUESTED"
        - "VALIDATED"
        - "COMPLETED"
        - "OBSOLETED"
  DynamicProcedureInput:
    type: "object"
    required:
    - "extensions"
    properties:
      natures:
        type: "array"
        items:
          $ref: "#/definitions/DynamicProcedureItemInput"
      extensions:
        type: "array"
        items:
          type: "string"
  WarningShareOutput:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
  DocumentDownloadRequest:
    type: "object"
    required:
    - "document_id"
    properties:
      document_id:
        type: "string"
        example: "11111111111111111111111111111111"
        description: "Identifiant du document à télécharger (32 caractères hexadé\
          cimaux)"
        pattern: "^[0-9a-fA-F]{32}$"
    description: "Requête pour télécharger le contenu d'un document"
  Legator:
    type: "object"
    properties:
      id:
        type: "string"
      given_name:
        type: "string"
      family_name:
        type: "string"
      login:
        type: "string"
      status:
        type: "string"
        enum:
        - "REFUSED"
        - "WAITING"
        - "ACCEPTED"
      trusted_contact_id:
        type: "string"
  UserInfo:
    type: "object"
    properties:
      user_id:
        type: "string"
  SenderList:
    type: "object"
    properties:
      senders:
        type: "array"
        items:
          $ref: "#/definitions/SenderMetaData"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  RegistrationCheckAuthorizationResponse:
    type: "object"
    properties:
      authorized:
        type: "boolean"
        default: false
      registration:
        $ref: "#/definitions/Registration"
  LegatorData:
    type: "object"
    properties:
      given_name:
        type: "string"
      family_name:
        type: "string"
  ShareViewData:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      short_id:
        type: "string"
      description:
        type: "string"
      start_date:
        type: "string"
        format: "date-time"
      end_date:
        type: "string"
        format: "date-time"
      last_view_at:
        type: "string"
        format: "date-time"
  TrustedContactStatusInput:
    type: "object"
    required:
    - "status"
    properties:
      status:
        type: "string"
        enum:
        - "REFUSED"
        - "WAITING"
        - "ACCEPTED"
  DocumentIdsInput:
    type: "object"
    required:
    - "document_ids"
    properties:
      document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
  TrustedContactInput:
    type: "object"
    properties:
      title:
        type: "string"
      given_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      family_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      email:
        type: "string"
      date_of_birth:
        type: "string"
        format: "date"
  UserConsentInput:
    type: "object"
    required:
    - "consent_type"
    properties:
      consent_type:
        type: "string"
  SenderInfo:
    type: "object"
    properties:
      sender_id:
        type: "string"
      sender_pid:
        type: "string"
  OneClickDownloadRequest:
    type: "object"
    properties:
      password:
        type: "string"
  CredentialsQuestions:
    type: "object"
    properties:
      all_possible_secret_questions:
        type: "array"
        items:
          $ref: "#/definitions/UserCredentialsQuestion"
  UserSecurityStatusData:
    type: "object"
    properties:
      status:
        type: "boolean"
        default: false
  PartnerDto:
    type: "object"
    required:
    - "application"
    - "authorization_description"
    - "description"
    properties:
      application:
        type: "string"
        min_length: 0
        max_length: 255
        pattern: "[[\\p{L}][\\p{M}][\\p{N}]_\\- ]+"
      description:
        type: "string"
      authorization_description:
        type: "string"
      logo_url:
        type: "string"
        min_length: 0
        max_length: 255
      email:
        type: "string"
        min_length: 0
        max_length: 255
  SenderCategory:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
  ConsentDataDto:
    type: "object"
    properties:
      data_consented:
        type: "boolean"
        default: false
  PinpadInput:
    type: "object"
    required:
    - "password"
    properties:
      input:
        type: "string"
        pattern: "[0-9]{6}"
      sequence:
        type: "string"
      password:
        type: "string"
  DynamicProcedureItemInput:
    type: "object"
    properties:
      pid:
        type: "string"
      wanted:
        type: "integer"
        format: "int32"
  ProfileAddressData:
    type: "object"
    properties:
      sub_locality:
        type: "string"
      street_address:
        type: "string"
      postal_code:
        type: "string"
        min_length: 0
        max_length: 36
      post_office_box:
        type: "string"
      locality:
        type: "string"
      extended_address:
        type: "string"
        min_length: 0
        max_length: 38
      country_code:
        type: "string"
      id:
        type: "string"
      address_alias:
        type: "string"
        pattern: ".{1,55}"
      valid:
        type: "boolean"
        default: false
  ContentDisposition:
    type: "object"
    properties:
      type:
        type: "string"
      filename:
        type: "string"
      parameters:
        type: "object"
        additional_properties:
          type: "string"
  PartnerSimpleDto:
    type: "object"
    properties:
      client_id:
        type: "string"
      client_secret:
        type: "string"
  ContactShareCopy:
    type: "object"
    properties:
      folder_id:
        type: "string"
      documents:
        type: "array"
        unique_items: true
        items:
          type: "string"
  ProcedureData:
    type: "object"
    properties:
      procedure_id:
        type: "string"
      procedure_pid:
        type: "string"
      title:
        type: "string"
      short_description:
        type: "string"
      description:
        type: "string"
      link:
        type: "string"
      link_description:
        type: "string"
      image:
        type: "string"
      nb_assets_required:
        type: "integer"
        format: "int32"
      nb_assets_provided:
        type: "integer"
        format: "int32"
      pro_procedure:
        type: "boolean"
        default: false
      procedure_category:
        type: "string"
        enum:
        - "ADMINISTRATIVE"
        - "BANK"
        - "BUSINESS_CREATION"
        - "HOUSING"
        - "HEALTH"
        - "WORK"
        - "NONE"
      associated_partners:
        type: "array"
        items:
          $ref: "#/definitions/PartnerData"
      allow_partial_request:
        type: "boolean"
        default: false
  CancelPartnerOfferInput:
    type: "object"
    properties:
      partner_user_id:
        type: "string"
      platform:
        type: "string"
      product_id:
        type: "string"
  MembershipMetaData:
    type: "object"
    properties:
      id:
        type: "string"
      sender:
        $ref: "#/definitions/SenderMetaData"
      label:
        type: "string"
      status:
        type: "string"
      status_detail:
        type: "string"
      error_message:
        type: "string"
      original_error_message:
        type: "string"
      frequency:
        type: "string"
        enum:
        - "NONE"
        - "DAILY"
        - "WEEKLY"
        - "BIWEEKLY"
        - "MONTHLY"
        - "BIMONTHLY"
        - "TRIMONTHLY"
        - "SIXMONTHLY"
        - "YEARLY"
      next_collect_at:
        type: "string"
        format: "date-time"
      membership_date:
        type: "string"
        format: "date-time"
      request_date:
        type: "string"
        format: "date-time"
      cancellation_date:
        type: "string"
        format: "date-time"
      dematerialized_convention_version:
        type: "string"
      dematerialized_convention_date:
        type: "string"
        format: "date-time"
      field1_value:
        type: "string"
      field2_value:
        type: "string"
      field1_label:
        type: "string"
      field2_label:
        type: "string"
      address:
        $ref: "#/definitions/AddressInput"
      updated_at:
        type: "string"
        format: "date-time"
      sender_kind:
        type: "integer"
        format: "int32"
      cancellable:
        type: "boolean"
        default: false
      inbox_folder_id:
        type: "string"
      deactivation_date:
        type: "string"
        format: "date-time"
      enable:
        type: "boolean"
        default: false
      transaction_id:
        type: "string"
      two_fa_provider:
        type: "boolean"
        default: false
      alias:
        type: "string"
      note:
        type: "string"
      consent_meta_data:
        $ref: "#/definitions/ConsentMetaData"
  MembershipUpdatingInput:
    type: "object"
    properties:
      sender_pid:
        type: "string"
      field_one:
        type: "string"
      first_name:
        type: "string"
      last_name:
        type: "string"
      email:
        type: "string"
      source:
        type: "string"
  SenderResponse:
    type: "object"
    properties:
      pid:
        type: "string"
      legal_name:
        type: "string"
      siren_siret:
        type: "string"
      vat_number:
        type: "string"
      thumbnail:
        type: "string"
      logo:
        type: "string"
      selfcare_url_fr:
        type: "string"
      selfcare_url_en:
        type: "string"
      routing_emails:
        type: "array"
        items:
          type: "string"
      aliases:
        type: "array"
        items:
          type: "string"
      address:
        $ref: "#/definitions/Address"
      membership_form_info:
        $ref: "#/definitions/MembershipFormInfo"
      multilingual:
        type: "boolean"
        default: false
      deposit_regex:
        type: "string"
      automatic_spool:
        type: "boolean"
        default: false
      field_one_line_number:
        type: "integer"
        format: "int32"
      field_one_column_number:
        type: "integer"
        format: "int32"
      parent_publisher_id:
        type: "string"
  UserPearingInfo:
    type: "object"
    properties:
      login:
        type: "string"
      available:
        type: "boolean"
        default: false
  Address:
    type: "object"
    properties:
      street:
        type: "string"
      zip_code:
        type: "string"
      locality:
        type: "string"
      country:
        type: "string"
  PartnerData:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      logo_url:
        type: "string"
  ChooseDocsCriteria:
    type: "object"
    required:
    - "start_date"
    properties:
      natures:
        type: "array"
        items:
          $ref: "#/definitions/NatureCriteria"
      start_date:
        type: "string"
        format: "date-time"
      end_date:
        type: "string"
        format: "date-time"
  DocumentsCopy:
    type: "object"
    properties:
      folder_id:
        type: "string"
      documents:
        type: "array"
        unique_items: true
        items:
          type: "string"
  SenderCategoryList:
    type: "object"
    properties:
      categories:
        type: "array"
        items:
          $ref: "#/definitions/SenderCategory"
  CcuTokenInput:
    type: "object"
    properties:
      token_ccu:
        type: "string"
  IDNTokens:
    type: "object"
    required:
    - "oauth_request_secret"
    - "oauth_request_token"
    - "oauth_verifier"
    properties:
      oauth_request_token:
        type: "string"
      oauth_request_secret:
        type: "string"
      oauth_verifier:
        type: "string"
  MembershipInfosDto:
    type: "object"
    properties:
      route_code:
        type: "string"
      partner_user_id:
        type: "string"
      secret_code:
        type: "string"
      civility:
        type: "string"
      lastname:
        type: "string"
      firstname:
        type: "string"
      email:
        type: "string"
      is_personalized:
        type: "boolean"
        default: false
      purl:
        type: "string"
      updated_at:
        type: "string"
      status:
        type: "string"
  ShareDataAndDocumentsList:
    type: "object"
    properties:
      share_data_and_documents:
        type: "array"
        items:
          $ref: "#/definitions/ShareDataAndDocuments"
  IdSet:
    type: "object"
    required:
    - "ids"
    properties:
      ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
  ReminderDataList:
    type: "object"
    properties:
      reminders:
        type: "array"
        items:
          $ref: "#/definitions/ReminderData"
  ContactInput:
    type: "object"
    required:
    - "relationship_type"
    properties:
      last_name:
        type: "string"
        min_length: 1
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      first_name:
        type: "string"
        min_length: 1
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      date_of_birth:
        type: "string"
        format: "date"
      phone:
        type: "string"
      email:
        type: "string"
        min_length: 1
        max_length: 2147483647
      relationship_type:
        type: "string"
  ProfileDocumentsData:
    type: "object"
    properties:
      assets:
        type: "array"
        items:
          $ref: "#/definitions/Asset"
  ProcedureNotification:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
  ShareData:
    type: "object"
    properties:
      id:
        type: "string"
      short_id:
        type: "string"
      security_code:
        type: "string"
      short_url:
        type: "string"
      title:
        type: "string"
      description:
        type: "string"
      start_date:
        type: "string"
        format: "date-time"
      end_date:
        type: "string"
        format: "date-time"
      last_view_at:
        type: "string"
        format: "date-time"
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
      shared_at:
        type: "string"
        format: "date-time"
      user_procedure_id:
        type: "string"
      recipient_mails:
        type: "array"
        unique_items: true
        items:
          type: "string"
  FolderInput:
    type: "object"
    properties:
      name:
        type: "string"
      favorite:
        type: "boolean"
        default: false
      parent_id:
        type: "string"
  MembershipFormInfo:
    type: "object"
    properties:
      label1_fr:
        type: "string"
      label1_en:
        type: "string"
      tooltip1_fr:
        type: "string"
      tooltip1_en:
        type: "string"
      label2_fr:
        type: "string"
      label2_en:
        type: "string"
      tooltip2_fr:
        type: "string"
      tooltip2_en:
        type: "string"
      presentation_fr:
        type: "string"
      presentation_en:
        type: "string"
      more_info_fr:
        type: "string"
      more_info_en:
        type: "string"
      field1_example:
        type: "string"
      field2_example:
        type: "string"
      document_naming_fr:
        type: "string"
      document_naming_en:
        type: "string"
  Asset:
    type: "object"
    properties:
      id:
        type: "string"
      pid:
        type: "string"
      visible:
        type: "boolean"
        default: false
      title:
        type: "string"
      description:
        type: "string"
      asset_type:
        type: "string"
        enum:
        - "DOCUMENT"
        - "DOCUMENT_GROUP"
        - "NATURE"
        - "CATEGORY"
      nb_documents:
        type: "integer"
        format: "int32"
      nb_documents_required:
        type: "integer"
        format: "int32"
      assets:
        type: "array"
        items:
          $ref: "#/definitions/Asset"
      is_custom:
        type: "boolean"
        default: false
  SupportAvailable:
    type: "object"
    properties:
      available:
        type: "boolean"
        default: false
  StringValue:
    type: "object"
    properties:
      value:
        type: "string"
  GoodDataList:
    type: "object"
    properties:
      goods:
        type: "array"
        items:
          $ref: "#/definitions/GoodData"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  ConsentMetaData:
    type: "object"
    properties:
      id:
        type: "string"
      expiration_date:
        type: "string"
        format: "date-time"
  Translation:
    type: "object"
    properties:
      locale:
        $ref: "#/definitions/Locale"
      value:
        type: "string"
  RawPasswordUpdateData:
    type: "object"
    properties:
      old_password:
        type: "string"
      new_password:
        type: "string"
  NotificationPreferenceInput:
    type: "object"
    required:
    - "enable"
    properties:
      enable:
        type: "boolean"
        default: false
  DocumentIdInput:
    type: "object"
    properties:
      document_id:
        type: "string"
  ChangeOfferInput:
    type: "object"
    properties:
      partner_user_id:
        type: "string"
      platform:
        type: "string"
      to_product_id:
        type: "string"
  HealthDataCreate:
    type: "object"
    required:
    - "item_type"
    properties:
      civility:
        type: "string"
        enum:
        - "M"
        - "MME"
        - "DR"
        - "PR"
      first_name:
        type: "string"
      pro_type:
        type: "string"
        enum:
        - "GENERAL_PRACTITIONER"
        - "DENTIST"
        - "NURSE"
        - "OPHTHALMOLOGIST"
        - "PAEDIATRICIAN"
        - "SPECIALIST"
        - "OTHER"
      address:
        type: "string"
      web_site:
        type: "string"
      mail:
        type: "string"
      phone_number:
        type: "string"
      appointment_link:
        type: "string"
      regular_doctor:
        type: "boolean"
        default: false
      name:
        type: "string"
      photo:
        type: "boolean"
        default: false
      item_type:
        type: "string"
        enum:
        - "MEDICAL_PROFESSIONAL"
        - "MEDICAL_ANALYSIS_LABORATORY"
        - "GENERAL_HEALTH_CARE_SYSTEM"
        - "MSA_HEALTH_CARE_SYSTEM"
        - "MSI_HEALTH_CARE_SYSTEM"
        - "OTHER_HEALTH_CARE_SYSTEM"
        - "MUTUAL_HEALTH"
        - "OTHER"
  UserSecretQuestionSigned:
    type: "object"
    required:
    - "secret_question_find"
    properties:
      secret_question_find:
        type: "boolean"
        default: false
  CcuAuthenticationInput:
    type: "object"
    properties:
      username:
        type: "string"
      password:
        type: "string"
      user_type:
        type: "string"
  ShareDataList:
    type: "object"
    properties:
      share_datas:
        type: "array"
        items:
          $ref: "#/definitions/ShareData"
  RefusedDocument:
    type: "object"
    properties:
      document_id:
        type: "string"
      refusal_ground:
        type: "string"
        min_length: 0
        max_length: 255
  TwoFaInput:
    type: "object"
    properties:
      code:
        type: "string"
  MembershipInput:
    type: "object"
    required:
    - "sender_pid"
    properties:
      address:
        $ref: "#/definitions/MembershipAddress"
      field1_value:
        type: "string"
      field2_value:
        type: "string"
      sender_pid:
        type: "string"
      folder_id:
        type: "string"
  ProfileDocumentsNaturePidData:
    type: "object"
    required:
    - "document_ids"
    properties:
      document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
      document_nature_pid:
        type: "string"
  TimeLineResponse:
    type: "object"
    properties:
      events:
        type: "array"
        items:
          $ref: "#/definitions/TimeLineEvent"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  DocumentPartnerData:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      type:
        type: "string"
      creation_date:
        type: "string"
        format: "date-time"
      size:
        type: "integer"
        format: "int32"
  DocumentErrorDetails:
    type: "object"
    properties:
      name:
        type: "string"
      reason:
        type: "string"
  LocaleInput:
    type: "object"
    required:
    - "locale"
    properties:
      locale:
        type: "string"
        pattern: "^[a-z]{2}_[A-Z]{2}|[a-z]{2}$"
  MembershipInfosList:
    type: "object"
    properties:
      memberships:
        type: "array"
        items:
          $ref: "#/definitions/MembershipInfosDto"
  ConnectionsData:
    type: "object"
    properties:
      connections:
        type: "array"
        items:
          $ref: "#/definitions/ConnectionData"
  DocumentNotification:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
  RefusalForm:
    type: "object"
    properties:
      answer:
        type: "integer"
        format: "int32"
        minimum: 1.0
        maximum: 6.0
      comment:
        type: "string"
        min_length: 0
        max_length: 512
        pattern: "^[\\p{L}\\p{Digit}\\p{Punct}\\n\\r\\s&&[^><&]]*$"
  UserCredentialsQuestion:
    type: "object"
    properties:
      secret_question:
        type: "string"
        pattern: "^[\\p{InCombiningDiacriticalMarks}\\p{L}\\d\\s ?',-]{1,128}$"
      secret_question_index:
        type: "integer"
        format: "int32"
      secret_question_answer:
        type: "string"
        min_length: 1
        max_length: 32
      valid_secret_question_data:
        type: "boolean"
        default: false
  DataFlavor:
    type: "object"
    properties:
      mime_type:
        type: "string"
      human_presentable_name:
        type: "string"
      sub_type:
        type: "string"
      mime_type_serialized_object:
        type: "boolean"
        default: false
      default_representation_class_as_string:
        type: "string"
      representation_class_input_stream:
        type: "boolean"
        default: false
      representation_class_reader:
        type: "boolean"
        default: false
      representation_class_char_buffer:
        type: "boolean"
        default: false
      representation_class_byte_buffer:
        type: "boolean"
        default: false
      representation_class_serializable:
        type: "boolean"
        default: false
      representation_class_remote:
        type: "boolean"
        default: false
      flavor_serialized_object_type:
        type: "boolean"
        default: false
      flavor_remote_object_type:
        type: "boolean"
        default: false
      flavor_java_file_list_type:
        type: "boolean"
        default: false
      flavor_text_type:
        type: "boolean"
        default: false
      primary_type:
        type: "string"
  TagsFacet:
    type: "object"
    properties:
      tags:
        type: "object"
        additional_properties:
          type: "integer"
          format: "int64"
  WarningProcedureOutput:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
  UserSecurityData:
    type: "object"
    properties:
      sms_enabled:
        type: "boolean"
        default: false
      totp_enabled:
        type: "boolean"
        default: false
      two_factor_enabled:
        type: "boolean"
        default: false
  ShareDocumentList:
    type: "object"
    properties:
      documents:
        type: "array"
        items:
          $ref: "#/definitions/ShareDocument"
  NatureCriteria:
    type: "object"
    required:
    - "nature_pid"
    properties:
      nature_pid:
        type: "string"
      limit:
        type: "integer"
        format: "int32"
  StringList:
    type: "object"
    properties:
      values:
        type: "array"
        items:
          type: "string"
  RegistrationStatus:
    type: "object"
    properties:
      id:
        type: "string"
      email_quality:
        type: "string"
        enum:
        - "CHECKED"
        - "INFORMATION"
      address_quality:
        type: "string"
        enum:
        - "CHECKED"
        - "INFORMATION"
      process:
        type: "string"
        enum:
        - "ADH"
        - "AFF"
        - "ASD"
        - "ASS"
      sender_meta_data:
        $ref: "#/definitions/SenderMetaData"
      membership:
        $ref: "#/definitions/MembershipMetaData"
      membershipstatus:
        type: "string"
        enum:
        - "CREATION_ERROR"
        - "CANCELLED"
        - "VALIDATED_BY_USER"
        - "PRE_VALIDATED_BY_SENDER"
        - "WAITING_SENDER"
        - "ACTIVE"
        - "CANCEL_IN_PROGRESS"
        - "REFUSED"
        - "ADDRESS_CHECKING_IN_PROGRESS"
        - "REFUSAL_SOLICITATION"
        - "IN_ERROR"
      association_status:
        type: "string"
        enum:
        - "DELETED"
        - "EMITED"
        - "IN_PROGRESS"
        - "VALID"
        - "CANCEL_IN_PROGRESS"
  UserNotification:
    type: "object"
    properties:
      id:
        type: "string"
      given_name:
        type: "string"
      family_name:
        type: "string"
  PartnerUserProcedureData:
    type: "object"
    properties:
      user:
        $ref: "#/definitions/UserData"
      user_procedure_data:
        $ref: "#/definitions/UserProcedureData"
  OfferMetaData:
    type: "object"
    properties:
      pid:
        type: "string"
      basic:
        type: "boolean"
        default: false
      characteristics:
        type: "array"
        items:
          $ref: "#/definitions/OfferCharacteristicMetaData"
  ProfileAddressValidationCode:
    type: "object"
    properties:
      address_validation_code:
        type: "string"
        pattern: "^[2-9A-Z]{8}$"
  RequiredDocumentNature:
    type: "object"
    required:
    - "count"
    - "type"
    properties:
      type:
        type: "string"
        enum:
        - "CATEGORY"
        - "NATURE"
        - "OTHER"
      pid:
        type: "string"
        min_length: 1
        max_length: 64
        pattern: "^[A-Z0-9_]*$"
      title:
        type: "string"
      count:
        type: "integer"
        format: "int32"
        minimum: 1.0
        maximum: 100.0
  ProcedureDetails:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      documents_count:
        type: "integer"
        format: "int64"
      add_documents_count:
        type: "integer"
        format: "int64"
      type:
        type: "string"
      partner_name:
        type: "string"
      reason:
        type: "string"
      document_errors:
        type: "array"
        items:
          $ref: "#/definitions/DocumentErrorDetails"
  PasswordToVerifyData:
    type: "object"
    required:
    - "password"
    properties:
      password:
        $ref: "#/definitions/PinpadInput"
  TotpInput:
    type: "object"
    required:
    - "code"
    properties:
      code:
        type: "string"
  IDNInformation:
    type: "object"
    properties:
      prefix:
        type: "string"
      last_name:
        type: "string"
      first_name:
        type: "string"
      birth_date:
        type: "string"
        format: "date"
      address:
        type: "string"
      postal_code:
        type: "string"
      city:
        type: "string"
      country:
        type: "string"
      email:
        type: "string"
      idn_information_signature:
        type: "string"
      email_signature:
        type: "string"
      id:
        type: "string"
  PartnerSender:
    type: "object"
    properties:
      parent_publisher_id:
        type: "string"
      partner_id:
        type: "string"
      legal_name:
        type: "string"
      archetype:
        type: "boolean"
        default: false
  SupportMetaData:
    type: "object"
    properties:
      code:
        type: "string"
  ProfileIdentityData:
    type: "object"
    properties:
      title:
        type: "string"
      birth_date:
        type: "string"
        format: "date"
      given_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      family_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      birth_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
  LoginChangeData:
    type: "object"
    properties:
      user_id:
        type: "string"
      code:
        type: "string"
      type:
        type: "string"
        enum:
        - "PERSON"
        - "COMPANY"
      value:
        type: "string"
      ccu_user_id:
        type: "string"
  UserMetaData:
    type: "object"
    properties:
      given_name:
        type: "string"
      family_name:
        type: "string"
  ItemData:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
  SharedDocumentOutput:
    type: "object"
    properties:
      shared_documents:
        $ref: "#/definitions/SharedDocuments"
  Locale:
    type: "object"
    properties:
      language:
        type: "string"
      script:
        type: "string"
      country:
        type: "string"
      variant:
        type: "string"
      extension_keys:
        type: "array"
        unique_items: true
        items:
          type: "string"
      unicode_locale_attributes:
        type: "array"
        unique_items: true
        items:
          type: "string"
      unicode_locale_keys:
        type: "array"
        unique_items: true
        items:
          type: "string"
      iso3_language:
        type: "string"
      iso3_country:
        type: "string"
      display_language:
        type: "string"
      display_script:
        type: "string"
      display_country:
        type: "string"
      display_variant:
        type: "string"
      display_name:
        type: "string"
  MembershipList:
    type: "object"
    properties:
      memberships:
        type: "array"
        items:
          $ref: "#/definitions/MembershipMetaData"
  ShareViewDateDocumentList:
    type: "object"
    properties:
      share_date:
        type: "string"
        format: "date-time"
      documents:
        type: "array"
        items:
          $ref: "#/definitions/ShareDocument"
  DocumentList:
    type: "object"
    properties:
      documents:
        type: "array"
        items:
          $ref: "#/definitions/FullDocumentMetaData"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  PartnerInfos:
    type: "object"
    properties:
      application_name:
        type: "string"
      document_name:
        type: "string"
      logo_url:
        type: "string"
      partner_id:
        type: "string"
      sender:
        $ref: "#/definitions/SenderMetaData"
  PinpadFullUserAccountInput:
    type: "object"
    required:
    - "first_name"
    - "last_name"
    - "password"
    - "user_type"
    properties:
      title:
        type: "string"
      user_type:
        type: "string"
      last_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      first_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      date_of_birth:
        type: "string"
        format: "date"
      email:
        type: "string"
      login:
        type: "string"
        pattern: "^[A-Za-z0-9_\\-@\\.\\+]*$"
      siren_siret:
        type: "string"
      company_name:
        type: "string"
        min_length: 1
        max_length: 38
      secret_question:
        type: "string"
      secret_question_index:
        type: "integer"
        format: "int32"
      secret_answer:
        type: "string"
      optin:
        type: "boolean"
        default: false
      idn_information:
        $ref: "#/definitions/IDNInformation"
      partner_optin:
        type: "boolean"
        default: false
      address:
        $ref: "#/definitions/AddressInput"
      accept_full_dematerialization:
        type: "boolean"
        default: false
      locale:
        $ref: "#/definitions/Locale"
      password:
        $ref: "#/definitions/PinpadInput"
      raw_password:
        type: "string"
      valid_secret_question_data:
        type: "boolean"
        default: false
      valid:
        type: "boolean"
        default: false
  CustomizationUrlOutput:
    type: "object"
    properties:
      customization_url:
        type: "string"
  NotificationList:
    type: "object"
    properties:
      notifications:
        type: "array"
        items:
          $ref: "#/definitions/Notification"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  FolderDetails:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
  MembershipCollectStatus:
    type: "object"
    properties:
      status_label:
        type: "string"
      on_error:
        type: "boolean"
        default: false
      error_detail:
        type: "string"
        enum:
        - "LOGIN_FAIL"
        - "PENDING"
        - "CHECK_ACCOUNT"
        - "CANCELLED"
        - "BUG"
        - "WEBSITE_UNAVAILABLE"
        - "RATE_LIMITING"
      done:
        type: "boolean"
        default: false
      nb_collecteds_documents:
        type: "integer"
        format: "int32"
      efacture_status:
        type: "string"
        enum:
        - "PENDING"
        - "SCHEDULED"
        - "IN_PROGRESS"
        - "COMPLETED"
        - "COMPLETED_NOTHING_TO_DOWNLOAD"
        - "COMPLETED_NOTHING_NEW_TO_DOWNLOAD"
        - "COMPLETED_WITH_MISSING_DOCS"
        - "CHECK_ACCOUNT"
        - "LOGIN_FAILED"
        - "UNEXPECTED_ACCOUNT_DATA"
        - "DEMATERIALISATION_NEEDED"
        - "WAIT_FOR_USER_ACTION"
        - "REJECTED"
        - "COMPLETED_WITH_ERRORS"
        - "RETRIEVER_ERROR"
        - "PROVIDER_UNAVAILABLE"
        - "TIMEOUT"
        - "BROKER_UNAVAILABLE"
        - "CANCELLED"
      error_message:
        type: "string"
      original_error_message:
        type: "string"
  DocumentPartnerDataList:
    type: "object"
    properties:
      documents:
        type: "array"
        items:
          $ref: "#/definitions/DocumentPartnerData"
      count:
        type: "integer"
        format: "int32"
  MembershipDetails:
    type: "object"
    properties:
      id:
        type: "string"
      field_one:
        type: "string"
      status:
        type: "string"
      status_details:
        type: "string"
  VerifiedDocumentData:
    type: "object"
    properties:
      document_id:
        type: "string"
      extension:
        type: "string"
      title:
        type: "string"
      verification_status:
        type: "string"
        enum:
        - "REJECTED"
        - "UNREADABLE"
        - "EXPIRED"
        - "VALIDATED"
        - "PENDING"
        - "UNREACHABLE"
        - "CALL"
      expiration_date:
        type: "string"
        format: "date-time"
      localized_nature_name:
        $ref: "#/definitions/LocalizedString"
      nature_pid:
        type: "string"
  PartnerApiAccessInput:
    type: "object"
    required:
    - "api_access"
    properties:
      api_access:
        type: "array"
        items:
          $ref: "#/definitions/ApiAccessDto"
  Registration:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      user:
        $ref: "#/definitions/FullUserAccountInput"
      email_quality:
        type: "string"
        enum:
        - "CHECKED"
        - "INFORMATION"
      address_quality:
        type: "string"
        enum:
        - "CHECKED"
        - "INFORMATION"
      security_plus_form:
        $ref: "#/definitions/RegistrationSecurityPlusForm"
  ProfileAddresses:
    type: "object"
    properties:
      addresses:
        type: "array"
        items:
          $ref: "#/definitions/ProfileAddressData"
  LightUserProcedureData:
    type: "object"
    properties:
      id:
        type: "string"
      type:
        type: "string"
        enum:
        - "GENERIC"
        - "PERSONAL"
        - "SPECIFIC"
        - "PRIVATE"
        - "SEGMENTED"
      name:
        type: "string"
  GeolocalizedData:
    type: "object"
    properties:
      timestamping:
        type: "string"
        format: "date-time"
      latitude:
        type: "number"
        format: "double"
      longitude:
        type: "number"
        format: "double"
      position_type:
        type: "string"
      hdop:
        type: "string"
      timestamp:
        type: "string"
        format: "date-time"
  PasswordUpdateData:
    type: "object"
    required:
    - "new_password"
    - "old_password"
    properties:
      old_password:
        $ref: "#/definitions/PinpadInput"
      new_password:
        $ref: "#/definitions/PinpadInput"
  LoginChangeInput:
    type: "object"
    properties:
      new_login:
        type: "string"
      old_login:
        type: "string"
      password:
        type: "string"
      type:
        type: "string"
  SpecificProcedureInput:
    type: "object"
    properties:
      modification_reason:
        type: "string"
        min_length: 0
        max_length: 255
      name:
        type: "string"
        min_length: 0
        max_length: 255
      assets:
        type: "array"
        items:
          $ref: "#/definitions/RequiredDocumentNature"
        max_items: 2147483647
        min_items: 1
  WarningDocumentOutput:
    type: "object"
    properties:
      document_id:
        type: "string"
      document_title:
        type: "string"
      published_at:
        type: "string"
        format: "date-time"
      unread:
        type: "boolean"
        default: false
      certified:
        type: "boolean"
        default: false
      shares:
        type: "array"
        items:
          $ref: "#/definitions/WarningShareOutput"
      procedures:
        type: "array"
        items:
          $ref: "#/definitions/WarningProcedureOutput"
  CheckPartialAccountMergeInput:
    type: "object"
    required:
    - "kind"
    properties:
      coreg_partner_user_id:
        type: "string"
      partner_id:
        type: "string"
      login:
        type: "string"
      ccu:
        type: "boolean"
        default: false
      kind:
        type: "string"
        enum:
        - "PERSON"
        - "COMPANY"
  AccountMergeInput:
    type: "object"
    properties:
      source_user_login:
        type: "string"
  UserConsentDTO:
    type: "object"
    required:
    - "consents_data"
    properties:
      consents_data:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/ConsentData"
      updated_at:
        type: "string"
        format: "date-time"
  CollectedTransactionStateData:
    type: "object"
    properties:
      state:
        type: "string"
        enum:
        - "PENDING"
        - "WAIT_2FA"
        - "VALID"
        - "INVALID_CREDENTIALS"
        - "INVALID_DATA"
        - "CHECK_ACCOUNT"
        - "DEMATERIALISATION_NEEDED"
        - "BAD_2FA"
        - "ERROR"
      sub_state:
        type: "string"
        enum:
        - "OTP"
        - "STRONG_AUTH"
      wait_for_user_label:
        type: "string"
  OfferList:
    type: "object"
    properties:
      offers:
        type: "array"
        items:
          $ref: "#/definitions/OfferMetaData"
  DigiposteLocaleContext:
    type: "object"
    properties:
      locales:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/Locale"
      default_locale:
        $ref: "#/definitions/Locale"
  LegatorsData:
    type: "object"
    properties:
      legators:
        type: "array"
        items:
          $ref: "#/definitions/Legator"
  UserProcedureData:
    type: "object"
    properties:
      procedure_id:
        type: "string"
      procedure_pid:
        type: "string"
      title:
        type: "string"
      short_description:
        type: "string"
      description:
        type: "string"
      link:
        type: "string"
      link_description:
        type: "string"
      image:
        type: "string"
      nb_assets_required:
        type: "integer"
        format: "int32"
      nb_assets_provided:
        type: "integer"
        format: "int32"
      pro_procedure:
        type: "boolean"
        default: false
      procedure_category:
        type: "string"
        enum:
        - "ADMINISTRATIVE"
        - "BANK"
        - "BUSINESS_CREATION"
        - "HOUSING"
        - "HEALTH"
        - "WORK"
        - "NONE"
      associated_partners:
        type: "array"
        items:
          $ref: "#/definitions/PartnerData"
      allow_partial_request:
        type: "boolean"
        default: false
      user_procedure_id:
        type: "string"
      personal:
        type: "boolean"
        default: false
      completed:
        type: "boolean"
        default: false
      assets:
        type: "array"
        items:
          $ref: "#/definitions/Asset"
      document_assets:
        type: "array"
        items:
          $ref: "#/definitions/Asset"
      shared:
        type: "boolean"
        default: false
      visible:
        type: "boolean"
        default: false
      partner:
        $ref: "#/definitions/PartnerData"
      status:
        type: "string"
        enum:
        - "STARTED"
        - "REQUESTED"
        - "VALIDATED"
        - "COMPLETED"
        - "OBSOLETED"
      refusal_ground:
        type: "string"
      qualification_date:
        type: "string"
        format: "date-time"
      requested_date:
        type: "string"
        format: "date-time"
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
      type:
        type: "string"
        enum:
        - "GENERIC"
        - "PERSONAL"
        - "SPECIFIC"
        - "PRIVATE"
        - "SEGMENTED"
      universes:
        $ref: "#/definitions/UniverseItemSets"
      membership_id:
        type: "string"
      first_name:
        type: "string"
      last_name:
        type: "string"
      prefix:
        type: "string"
  FolderTreeView:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      favorite:
        type: "boolean"
        default: false
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
      location:
        type: "string"
        enum:
        - "SAFE"
        - "TRASH"
      sender_name:
        type: "string"
      sender_pid:
        type: "string"
      sender_thumbnail:
        type: "string"
      sender_logo:
        type: "string"
      sender_url_selfcare:
        type: "string"
      senders:
        type: "array"
        items:
          $ref: "#/definitions/SenderForFolderMetaData"
      document_count:
        type: "integer"
        format: "int32"
      folders:
        type: "array"
        items:
          $ref: "#/definitions/FolderTreeView"
  HousingInput:
    type: "object"
    properties:
      sub_locality:
        type: "string"
      street_address:
        type: "string"
      postal_code:
        type: "string"
        min_length: 0
        max_length: 36
      post_office_box:
        type: "string"
      locality:
        type: "string"
      extended_address:
        type: "string"
        min_length: 0
        max_length: 38
      country_code:
        type: "string"
      label:
        type: "string"
        min_length: 1
        max_length: 55
      housing_type:
        type: "string"
  FolderMetaDataList:
    type: "object"
    properties:
      folders:
        type: "array"
        items:
          $ref: "#/definitions/FolderMetaData"
  ShareDocument:
    type: "object"
    properties:
      id:
        type: "string"
      title:
        type: "string"
      filename:
        type: "string"
      certified:
        type: "boolean"
        default: false
      content_type:
        type: "string"
      sender_name:
        type: "string"
      sender_logo:
        type: "string"
      author_name:
        type: "string"
      creation_date:
        type: "string"
        format: "date-time"
      share_date:
        type: "string"
        format: "date-time"
      size:
        type: "integer"
        format: "int32"
      category:
        type: "string"
      read:
        type: "boolean"
        default: false
      folder_id:
        type: "string"
      digishoot:
        type: "boolean"
        default: false
      geolocalized:
        type: "boolean"
        default: false
      geolocalized_data:
        $ref: "#/definitions/GeolocalizedData"
      health_document:
        type: "boolean"
        default: false
      reference_doc:
        type: "boolean"
        default: false
      favorite:
        type: "boolean"
        default: false
      shared:
        type: "boolean"
        default: false
      verification_status:
        type: "string"
        enum:
        - "REJECTED"
        - "UNREADABLE"
        - "EXPIRED"
        - "VALIDATED"
        - "PENDING"
        - "UNREACHABLE"
        - "CALL"
      verify_profile:
        type: "boolean"
        default: false
  DocumentNaturePidInput:
    type: "object"
    properties:
      value:
        type: "string"
  UserData:
    type: "object"
    properties:
      login:
        type: "string"
      title:
        type: "string"
      first_name:
        type: "string"
      last_name:
        type: "string"
      birth_date:
        type: "string"
        format: "date-time"
      email:
        type: "string"
      id_verified:
        type: "boolean"
        default: false
      address:
        $ref: "#/definitions/ProfileAddressData"
      partner_user_id:
        type: "string"
  ProceduresList:
    type: "object"
    properties:
      started:
        type: "array"
        items:
          $ref: "#/definitions/UserProcedureData"
      available:
        type: "array"
        items:
          $ref: "#/definitions/ProcedureData"
  RawPasswordFullUserAccountInput:
    type: "object"
    required:
    - "first_name"
    - "last_name"
    - "password"
    - "user_type"
    properties:
      title:
        type: "string"
      user_type:
        type: "string"
      last_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      first_name:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      date_of_birth:
        type: "string"
        format: "date"
      email:
        type: "string"
      login:
        type: "string"
        pattern: "^[A-Za-z0-9_\\-@\\.\\+]*$"
      siren_siret:
        type: "string"
      company_name:
        type: "string"
        min_length: 1
        max_length: 38
      secret_question:
        type: "string"
      secret_question_index:
        type: "integer"
        format: "int32"
      secret_answer:
        type: "string"
      optin:
        type: "boolean"
        default: false
      idn_information:
        $ref: "#/definitions/IDNInformation"
      partner_optin:
        type: "boolean"
        default: false
      address:
        $ref: "#/definitions/AddressInput"
      accept_full_dematerialization:
        type: "boolean"
        default: false
      locale:
        $ref: "#/definitions/Locale"
      password:
        type: "string"
      raw_password:
        type: "string"
      valid_secret_question_data:
        type: "boolean"
        default: false
      valid:
        type: "boolean"
        default: false
  CGUDto:
    type: "object"
    properties:
      version:
        type: "string"
      href:
        type: "string"
  UserSecurityValidateData:
    type: "object"
    properties:
      secret:
        type: "string"
  LocalizedString:
    type: "object"
    required:
    - "id"
    properties:
      id:
        type: "string"
        min_length: 0
        max_length: 32
      translations:
        type: "array"
        items:
          $ref: "#/definitions/Translation"
      translations_indexed_by_string_locale:
        type: "object"
        additional_properties:
          type: "string"
      translations_indexed_by_locale:
        type: "object"
        additional_properties:
          type: "string"
  ProfileDetails:
    type: "object"
    properties:
      completion:
        type: "integer"
        format: "int32"
      fields:
        type: "array"
        items:
          type: "string"
      offer_pid:
        type: "string"
  PublicRegistrationDetails:
    type: "object"
    properties:
      registration_id:
        type: "string"
      document_naming:
        type: "string"
      sender_name:
        type: "string"
      process:
        type: "string"
        enum:
        - "ADH"
        - "AFF"
        - "ASD"
        - "ASS"
      available:
        type: "boolean"
        default: false
  ProfileOfferData:
    type: "object"
    properties:
      pid:
        type: "string"
      type:
        type: "string"
      product_id:
        type: "string"
      max_safe_size:
        type: "integer"
        format: "int64"
      max_nb_collectors:
        type: "integer"
        format: "int32"
      actual_safe_size:
        type: "integer"
        format: "int64"
      actual_nb_collectors:
        type: "integer"
        format: "int32"
      subscription_date:
        type: "string"
        format: "date-time"
      sender_name:
        type: "string"
      sender_pid:
        type: "string"
      sender_logo_url:
        type: "string"
      price:
        type: "number"
      frequency:
        type: "string"
        enum:
        - "MONTHLY"
        - "MONTH_6"
        - "YEARLY"
  ApprovalInput:
    type: "object"
    required:
    - "client_id"
    properties:
      client_id:
        type: "string"
  MembershipOptoutOutput:
    type: "object"
    properties:
      route_code:
        type: "string"
      purl:
        type: "string"
  ProcedureDocumentInput:
    type: "object"
    properties:
      user_procedure_document_id:
        type: "string"
      nature_id:
        type: "string"
      nature_pid:
        type: "string"
      document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
      document_group:
        type: "integer"
        format: "int32"
      add_to_latest_group:
        type: "boolean"
        default: false
      procedure_only:
        type: "boolean"
        default: false
  FolderMetaData:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      favorite:
        type: "boolean"
        default: false
      created_at:
        type: "string"
        format: "date-time"
      updated_at:
        type: "string"
        format: "date-time"
      location:
        type: "string"
        enum:
        - "SAFE"
        - "TRASH"
      sender_name:
        type: "string"
      sender_pid:
        type: "string"
      sender_thumbnail:
        type: "string"
      sender_logo:
        type: "string"
      sender_url_selfcare:
        type: "string"
      senders:
        type: "array"
        items:
          $ref: "#/definitions/SenderForFolderMetaData"
      document_count:
        type: "integer"
        format: "int32"
  FileTreeInput:
    type: "object"
    properties:
      document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
      folder_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
  ReminderInput:
    type: "object"
    required:
    - "date"
    - "title"
    properties:
      title:
        type: "string"
      date:
        type: "string"
        format: "date-time"
  EntityTag:
    type: "object"
    properties:
      value:
        type: "string"
      weak:
        type: "boolean"
        default: false
  UserAgentData:
    type: "object"
    properties:
      device_class:
        type: "string"
      device_name:
        type: "string"
      device_version:
        type: "string"
      operating_system_name:
        type: "string"
      operating_system_version:
        type: "string"
      agent_name:
        type: "string"
      agent_version:
        type: "string"
  PartnerProceduresList:
    type: "object"
    properties:
      procedures:
        type: "array"
        items:
          $ref: "#/definitions/PartnerUserProcedureData"
      nb_started_segmented_procedures:
        type: "integer"
        format: "int32"
      count:
        type: "integer"
        format: "int32"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  MailInput:
    type: "object"
    properties:
      email:
        type: "string"
  ReminderDetails:
    type: "object"
    properties:
      message:
        type: "string"
  DeleteStatus:
    type: "object"
    properties:
      no_document:
        type: "boolean"
        default: false
      no_share:
        type: "boolean"
        default: false
      no_membership:
        type: "boolean"
        default: false
      no_application:
        type: "boolean"
        default: false
      can_be_deleted:
        type: "boolean"
        default: false
  ProfileDocumentNaturePidEntry:
    type: "object"
    required:
    - "nature_pid"
    properties:
      profile_document_ids:
        type: "array"
        unique_items: true
        items:
          type: "string"
      nature_pid:
        type: "string"
  UserActionHelpList:
    type: "object"
    properties:
      actions:
        type: "object"
        additional_properties:
          $ref: "#/definitions/UserActionHelpStatus"
  ShareDataAndDocuments:
    type: "object"
    properties:
      share_data:
        $ref: "#/definitions/ShareData"
      documents:
        type: "array"
        items:
          $ref: "#/definitions/ShareDocument"
  ProfileDocumentsNaturePidInput:
    type: "object"
    properties:
      entries:
        type: "array"
        unique_items: true
        items:
          $ref: "#/definitions/ProfileDocumentNaturePidEntry"
  MembershipOptoutInput:
    type: "object"
    required:
    - "partner_user_id"
    properties:
      partner_user_id:
        type: "string"
        pattern: "[-_\\.\\sa-zA-Z0-9]{1,255}"
      secret_code:
        type: "string"
        pattern: "[-_a-zA-Z0-9]{1,255}"
      title:
        type: "string"
      firstname:
        type: "string"
        min_length: 0
        max_length: 32
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      lastname:
        type: "string"
        min_length: 0
        max_length: 50
        pattern: "^[a-zA-ZàáâãäåæœçèéêëìíîïðñòóôõöøùúûüýÿÀÁÂÃÄÅÆŒÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ\
          ÙÚÛÜÝŸ'\\-\\s]*$"
      email:
        type: "string"
        min_length: 0
        max_length: 255
      send_mail:
        type: "boolean"
        default: false
  SenderDetails:
    type: "object"
    properties:
      pid:
        type: "string"
      name:
        type: "string"
      logo_url:
        type: "string"
  CoregPartnerUserInput:
    type: "object"
    properties:
      coreg_partner_user_id:
        type: "string"
      partner_id:
        type: "string"
  HealthDataInput:
    type: "object"
    properties:
      civility:
        type: "string"
        enum:
        - "M"
        - "MME"
        - "DR"
        - "PR"
      first_name:
        type: "string"
      pro_type:
        type: "string"
        enum:
        - "GENERAL_PRACTITIONER"
        - "DENTIST"
        - "NURSE"
        - "OPHTHALMOLOGIST"
        - "PAEDIATRICIAN"
        - "SPECIALIST"
        - "OTHER"
      address:
        type: "string"
      web_site:
        type: "string"
      mail:
        type: "string"
      phone_number:
        type: "string"
      appointment_link:
        type: "string"
      regular_doctor:
        type: "boolean"
        default: false
      name:
        type: "string"
      photo:
        type: "boolean"
        default: false
  FullDocumentMetaDataWithShareData:
    type: "object"
    properties:
      id:
        type: "string"
      category:
        type: "string"
      filename:
        type: "string"
      title:
        type: "string"
      subtitle:
        type: "string"
      summary:
        type: "string"
      mimetype:
        type: "string"
      size:
        type: "integer"
        format: "int32"
      creation_date:
        type: "string"
        format: "date-time"
      sender_name:
        type: "string"
      author_name:
        type: "string"
      health_document:
        type: "boolean"
        default: false
      sender_logo:
        type: "string"
      document_logo:
        type: "string"
      location:
        type: "string"
        enum:
        - "INBOX"
        - "SAFE"
        - "TRASH_INBOX"
        - "TRASH_SAFE"
      read:
        type: "boolean"
        default: false
      shared:
        type: "boolean"
        default: false
      digishoot:
        type: "boolean"
        default: false
      certified:
        type: "boolean"
        default: false
      self_care_url:
        type: "string"
      invoice:
        type: "boolean"
        default: false
      invoice_data:
        $ref: "#/definitions/InvoiceData"
      valid_until:
        type: "string"
        format: "date-time"
      eligible2ddoc:
        type: "boolean"
        default: false
      folder_id:
        type: "string"
      favorite:
        type: "boolean"
        default: false
      user_tags:
        type: "array"
        unique_items: true
        items:
          type: "string"
      sender_tags:
        type: "array"
        unique_items: true
        items:
          type: "string"
      owner:
        type: "boolean"
        default: false
      digishoot_data:
        $ref: "#/definitions/GeolocalizedData"
      geolocalized:
        type: "boolean"
        default: false
      geolocalize_data:
        $ref: "#/definitions/GeolocalizedData"
      verification_status:
        type: "string"
        enum:
        - "REJECTED"
        - "UNREADABLE"
        - "EXPIRED"
        - "VALIDATED"
        - "PENDING"
        - "UNREACHABLE"
        - "CALL"
      verify_profile:
        type: "boolean"
        default: false
      universes:
        $ref: "#/definitions/UniverseItemSets"
      reference_doc:
        type: "boolean"
        default: false
      nature_pid:
        type: "array"
        items:
          type: "string"
      nature_id:
        type: "string"
      nature_name:
        type: "object"
        additional_properties:
          type: "string"
      category_id:
        type: "string"
      category_name:
        type: "object"
        additional_properties:
          type: "string"
      category_icon:
        type: "string"
      category_pid:
        type: "string"
      extension:
        type: "string"
      share_datas:
        type: "array"
        items:
          $ref: "#/definitions/ShareData"
  PhoneNumberData:
    type: "object"
    properties:
      id:
        type: "string"
      phone_number:
        type: "string"
      type:
        type: "string"
      label:
        type: "string"
  StatusType:
    type: "object"
    properties:
      family:
        type: "string"
        enum:
        - "INFORMATIONAL"
        - "SUCCESSFUL"
        - "REDIRECTION"
        - "CLIENT_ERROR"
        - "SERVER_ERROR"
        - "OTHER"
      status_code:
        type: "integer"
        format: "int32"
      reason_phrase:
        type: "string"
  SharedDocument:
    type: "object"
    properties:
      document_id:
        type: "string"
      filename:
        type: "string"
      size:
        type: "integer"
        format: "int32"
      health:
        type: "boolean"
        default: false
      type:
        type: "string"
      origin:
        type: "string"
        enum:
        - "CERTIFIED"
        - "COLLECTED"
        - "PERSONAL"
      author_name:
        type: "string"
      mimetype:
        type: "string"
      created_at:
        type: "string"
        format: "date-time"
      folder_id:
        type: "string"
      folder_name:
        type: "string"
  MarkedDocuments:
    type: "object"
    properties:
      count:
        type: "integer"
        format: "int64"
  FileTreeInfo:
    type: "object"
    properties:
      id:
        type: "string"
      name:
        type: "string"
      size:
        type: "integer"
        format: "int64"
      has_health_document:
        type: "boolean"
        default: false
  ProcedureList:
    type: "object"
    properties:
      user_procedures:
        type: "array"
        items:
          $ref: "#/definitions/UserProcedureData"
      count:
        type: "integer"
        format: "int64"
      index:
        type: "integer"
        format: "int32"
      max_results:
        type: "integer"
        format: "int32"
  TokenInfo:
    type: "object"
    properties:
      type:
        type: "string"
        enum:
        - "USER"
        - "PARTNER"
      user:
        $ref: "#/definitions/UserInfo"
      partner:
        $ref: "#/definitions/PartnerInfo"
      sender:
        $ref: "#/definitions/SenderInfo"
  ChooserMetadata:
    type: "object"
    properties:
      document_id:
        type: "string"
      filename:
        type: "string"
      size:
        type: "integer"
        format: "int32"
      health:
        type: "boolean"
        default: false
      type:
        type: "string"
      sender_id:
        type: "string"
      sender_name:
        type: "string"
      certified:
        type: "boolean"
        default: false
      mimetype:
        type: "string"
      created_at:
        type: "string"
        format: "date-time"
      published_at:
        type: "string"
        format: "date-time"
      document_type:
        type: "string"
        enum:
        - "COLLECTED"
        - "API_COLLECTED"
        - "MANUAL"
        - "ROUTED"
      folder_id:
        type: "string"
      folder_path:
        type: "string"
basePath: "/api/v3"
