2.0info:   1.1.0   Portal de Talentos – Gestão das preferências do candidato  description: Serviço que pertence ao novo Portal de Talentos responsável por armazenar as preferências do candidato (favoritar vagas e eventuais configurações da conta como: modos de notificação, alerta sobre aviso de vagas e afins).  x-senior-domain: hcm  x-senior-domain-path: hcm  x-senior-service-path: careerspreferences  contact:    name: Senior X Platform    url: https://dev.senior.com.br    email: seniorx-dev@senior.com.brhost: platform.senior.com.br /t/senior.com.br/bridge/1.0/rest/hcmsecurityDefinitions:   APIKeyHeader:     type: apiKey     in: header     name: Authorizationsecurity:  – APIKeyHeader: []  – application/json  – application/jsonpaths:  /careerspreferences/queries/healthcheck:    post:      description: Verifica se o serviço está ativo      tags:        – Queries      x-senior-visibility: PRIVATE      responses:        200:          description: Ok          schema:            type: object            required:              – status              – checks            properties:              status:                type: string                allOf:                –  #/definitions/healthcheckDTO                description: Status de retorno              checks:                type: object                allOf:                 –  #/definitions/checkDTO                description: Checks executados        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Verifica se o serviço está ativo      tags:        – Queries      x-senior-visibility: PRIVATE      responses:        200:          description: Ok          schema:            type: object            required:              – status              – checks            properties:              status:                type: string                allOf:                –  #/definitions/healthcheckDTO                description: Status de retorno              checks:                type: object                allOf:                 –  #/definitions/checkDTO                description: Checks executados        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/queries/getFavoriteVacancies:    post:      description: Busca lista de vagas favoritadas por um candidato      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – candidateId            properties:              candidateId:                type: string                description: Identificador do candidato              page:                type: integer                format: int64                description: Número da página                minimum: 0                default: 0              size:                type: integer                format: int64                description: Tamanho da página                minimum: 1                maximum: 200                default: 10      responses:        200:          description: Ok          schema:            type: object            required:              – contents              – totalPages              – totalElements            properties:              contents:                type: array                items:                  type: object                  allOf:                   –  #/definitions/favoritedVacancyDTO                  minimum: 1                description: Dados das vagas favoritadas              totalPages:                type: integer                format: int64                description: Quantidade de páginas              totalElements:                type: integer                format: int64                description: Quantidade de elementos        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Busca lista de vagas favoritadas por um candidato      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: candidateId          description: Identificador do candidato          in: query          required: true          type: string        – name: page          description: Número da página          in: query          type: integer          format: int64        – name: size          description: Tamanho da página          in: query          type: integer          format: int64      responses:        200:          description: Ok          schema:            type: object            required:              – contents              – totalPages              – totalElements            properties:              contents:                type: array                items:                  type: object                  allOf:                   –  #/definitions/favoritedVacancyDTO                  minimum: 1                description: Dados das vagas favoritadas              totalPages:                type: integer                format: int64                description: Quantidade de páginas              totalElements:                type: integer                format: int64                description: Quantidade de elementos        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/queries/isFavoriteVacancy:    post:      description: Retorna se uma vaga está favoritada por um usuário/candidato      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – vacancyId              – candidateId            properties:              vacancyId:                type: string                description: Identificador da vaga              candidateId:                type: string                description: Identificador do candidato      responses:        200:          description: Ok          schema:            type: object            required:              – isFavorite            properties:              isFavorite:                type: boolean                description: Flag vaga favoritada        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Retorna se uma vaga está favoritada por um usuário/candidato      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: vacancyId          description: Identificador da vaga          in: query          required: true          type: string        – name: candidateId          description: Identificador do candidato          in: query          required: true          type: string      responses:        200:          description: Ok          schema:            type: object            required:              – isFavorite            properties:              isFavorite:                type: boolean                description: Flag vaga favoritada        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/queries/getProfile:    post:      description: Busca os dados de uma empresa      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – externalProfileId            properties:              externalProfileId:                type: string                description: Identificador do perfil      responses:        200:          description: Ok          schema:            type: object            required:              – profile            properties:              profile:                type: object                allOf:                 –  #/definitions/profileDTO                description: DTO do perfil da empresa        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Busca os dados de uma empresa      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: externalProfileId          description: Identificador do perfil          in: query          required: true          type: string      responses:        200:          description: Ok          schema:            type: object            required:              – profile            properties:              profile:                type: object                allOf:                 –  #/definitions/profileDTO                description: DTO do perfil da empresa        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/queries/getVacancy:    post:      description: Busca os dados de uma vaga      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – externalVacancyId            properties:              externalVacancyId:                type: string                description: Identificador da vaga      responses:        200:          description: Ok          schema:            type: object            required:              – vacancy            properties:              vacancy:                type: object                allOf:                 –  #/definitions/vacancyDTO                description: DTO do perfil da empresa        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Busca os dados de uma vaga      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: externalVacancyId          description: Identificador da vaga          in: query          required: true          type: string      responses:        200:          description: Ok          schema:            type: object            required:              – vacancy            properties:              vacancy:                type: object                allOf:                 –  #/definitions/vacancyDTO                description: DTO do perfil da empresa        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/queries/vacanciesSuggestionsByCandidate:    post:      description: Busca as sugestões de vaga para um candidato      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – candidateId              – maxNumberSuggestions            properties:              candidateId:                type: string                description: Id do candidato              maxNumberSuggestions:                type: integer                format: int64                description: Número máximo de sugestões      responses:        200:          description: Ok          schema:            type: object            required:              – vacancy            properties:              vacancy:                type: array                items:                  type: object                  allOf:                   –  #/definitions/vacancySuggestionDTO                  minimum: 1                description: Vagas sugeridas        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Busca as sugestões de vaga para um candidato      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: candidateId          description: Id do candidato          in: query          required: true          type: string        – name: maxNumberSuggestions          description: Número máximo de sugestões          in: query          required: true          type: integer          format: int64      responses:        200:          description: Ok          schema:            type: object            required:              – vacancy            properties:              vacancy:                type: array                items:                  type: object                  allOf:                   –  #/definitions/vacancySuggestionDTO                  minimum: 1                description: Vagas sugeridas        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/queries/getMetadata:    post:      description: Default getMetadata query. Every service must handle this command and return metadata in the format requested.      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            properties:              metadataFormat:                type: string                description:       responses:        200:          description: Ok          schema:            type: object            required:              – metadata            properties:              metadata:                type: string                description:         401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Default getMetadata query. Every service must handle this command and return metadata in the format requested.      tags:        – Queries      x-senior-visibility: PRIVATE      parameters:        – name: metadataFormat          description:           in: query          type: string      responses:        200:          description: Ok          schema:            type: object            required:              – metadata            properties:              metadata:                type: string                description:         401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/queries/getDependencies:    post:      description: Returns a list with all dependencies from this service, along with their respective versions      tags:        – Queries      x-senior-visibility: PRIVATE      responses:        200:          description: Ok          schema:            type: object            required:              – dependencies            properties:              dependencies:                type: array                items:                  type: object                  allOf:                   –  #/definitions/dependency                  minimum: 1                description: List with this service dependencies        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    get:      description: Returns a list with all dependencies from this service, along with their respective versions      tags:        – Queries      x-senior-visibility: PRIVATE      responses:        200:          description: Ok          schema:            type: object            required:              – dependencies            properties:              dependencies:                type: array                items:                  type: object                  allOf:                   –  #/definitions/dependency                  minimum: 1                description: List with this service dependencies        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError  /careerspreferences/actions/migrateSchema:    post:      description: Realiza a migração do schema do banco de dados      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object      responses:        200:          description: Ok          schema:            type: object        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/favoriteVacancy:    post:      description: Persiste uma vaga favoritada por um candidato      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – favoriteVacancy            properties:              favoriteVacancy:                type: object                allOf:                 –  #/definitions/favoriteVacancyDTO                description: Vaga a ser persistida      responses:        200:          description: Ok          schema:            type: object        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/unfavoriteVacancy:    post:      description: Exclui uma vaga favoritada da base      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – vacancyId              – candidateId            properties:              vacancyId:                type: string                description: Identificador da vaga no Elasticsearch, no formato UUID              candidateId:                type: string                description: Identificador do candidato      responses:        200:          description: Ok          schema:            type: object        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/saveProfile:    post:      description: Salva um perfil de empresa      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – profile            properties:              profile:                type: object                allOf:                 –  #/definitions/profileDTO                description: DTO do perfil da empresa      responses:        200:          description: Ok          schema:            type: object            required:              – profile            properties:              profile:                type: object                allOf:                 –  #/definitions/profileDTO                description: DTO do perfil da empresa        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/saveVacancy:    post:      description: Salva os dados de uma vaga      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – vacancy            properties:              vacancy:                type: object                allOf:                 –  #/definitions/vacancyDTO                description: DTO da vaga      responses:        200:          description: Ok          schema:            type: object            required:              – vacancy            properties:              vacancy:                type: object                allOf:                 –  #/definitions/vacancyDTO                description: DTO da vaga        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/unfavoriteAllByCandidate:    post:      description: Remove todos os favoritos de um candidato      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – candidateId            properties:              candidateId:                type: string                description: Identificador do candidato      responses:        200:          description: Ok          schema:            type: object        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/saveVacancySuggestions:    post:      description: salva sugestões de candidatos para uma vaga      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – vacancies              – candidateId            properties:              vacancies:                type: array                items:                  type: object                  allOf:                   –  #/definitions/vacancySuggestionDTO                  minimum: 1                description: Vagas sugeridas              candidateId:                type: string                description: Candidato      responses:        200:          description: Ok          schema:            type: object        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/disableAllVacancyByProfile:    post:      description: Desativa todas as vagas de um perfil de empresa      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – externalProfileId            properties:              externalProfileId:                type: string                description: Identificador do perfil      responses:        200:          description: Ok          schema:            type: object        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericError    /careerspreferences/actions/deleteVacancySuggestionsByCandidateId:    post:      description: Remove todas as sugestões de vagas de um candidato      tags:        – Actions      x-senior-visibility: PRIVATE      parameters:        – name: input          in: body          required: true          schema:            type: object            required:              – candidateId            properties:              candidateId:                type: string                description: Identificador do candidato      responses:        200:          description: Ok          schema:            type: object        401:          description: Invalid Credentials        default:          description: Error response          schema:             #/definitions/genericErrordefinitions:  healthcheckDTO:    type: string    enum:      – UP      – DOWN    description:        Status do healthcheck:       * `UP` – Saudável       * `DOWN` – Ruim    matcherSuggestion:    type: string    enum:      – GOOD      – GREAT      – EXCELLENT      – NONE    description:        Sugestão do matcher:       * `GOOD` – Boa       * `GREAT` – Ótima       * `EXCELLENT` – Excelente       * `NONE` – Nenhuma    vacancyStatus:    type: string    enum:      – IN_PROGRESS      – CANCELED      – CONCLUDED      – SUSPENDED      – DISABLED    description:        Status de publicação da vaga:       * `IN_PROGRESS` – Em Progresso       * `CANCELED` – Cancelado       * `CONCLUDED` – Concluído       * `SUSPENDED` – Suspenso       * `DISABLED` – Desativado    jobModel:    type: string    enum:      – HYBRID      – IN_PERSON      – REMOTE    description:        Modo de trabalho:       * `HYBRID` – HIBRIDO       * `IN_PERSON` – PRESENCIAL       * `REMOTE` – REMOTO    userNotificationKind:    type: string    enum:      – Operational      – Management      – News    description:        User notification kind.:       * `Operational` – Operational       * `Management` – Management       * `News` – News    userNotificationPriority:    type: string    enum:      – Error      – Alert      – None    description:        User notification priority.:       * `Error` – Error       * `Alert` – Alert       * `None` – None    eventEmailFormat:    type: string    enum:      – HTML      – PLAIN_TEXT    description:        Format of the email:       * `HTML` – Html       * `PLAIN_TEXT` – Plain Text  checkDTO:    description: Retorno status usados de retorno    type: object    required:      – name      – status    properties:      name:        type: string        description: Nome do status      status:        type: string        allOf:        –  #/definitions/healthcheckDTO        description: Status    favoriteVacancyDTO:    description: Vaga favoritada por usuário/candidato    type: object    required:      – vacancyId      – candidateId      – userId    properties:      vacancyId:        type: string        description: Identificador da vaga      candidateId:        type: string        description: Identificador do candidato      userId:        type: string        description: Identificador do usuário    profileDTO:    description: Perfil da empresa    type: object    required:      – externalProfileId      – company      – location      – tenant    properties:      id:        type: string        description: Identificador do perfil, no formato UUID      externalProfileId:        type: string        description: Identificador do perfil no Elasticsearch, no formato UUID      company:        type: string        description: Nome da empresa      location:        type: string        description: Localização da empresa      picture:        type: string        description: Url da imagem do perfil      tenant:        type: string        description: Tenant da empresa    vacancyDTO:    description: Informações de uma vaga    type: object    required:      – externalVacancyId      – jobCode      – title      – status    properties:      id:        type: string        description: Identificador da vaga, no formato UUID      profileId:        type: string        description: Identificador do perfil      externalVacancyId:        type: string        description: Identificador da vaga no Elasticsearch, no formato UUID      jobCode:        type: integer        format: int64        description: Código da vaga              type: string        description: Título da vaga      status:        type: string        allOf:        –  #/definitions/vacancyStatus        description: Status da vaga      publishedDate:        type: string        format: date        description: Data de publicação da vaga      jobModels:        type: array        items:          type: string          allOf:          –  #/definitions/jobModel        description: Modelo de trabalho      pcd:        type: boolean        description: Vaga para PCD        default: false      location:        type: string        description: Localização da vaga    vacancyInfoDTO:    description: Informações da vaga para exibição na busca de vagas favoritadas    discriminator: _discriminator    type: object    required:      – externalVacancyId      – jobCode      – title      – status      – profile      – _discriminator    properties:      id:        type: string        description: Identificador da vaga, no formato UUID      externalVacancyId:        type: string        description: Identificador da vaga no Elasticsearch, no formato UUID      jobCode:        type: integer        format: int64        description: Código da vaga              type: string        description: Título da vaga      status:        type: string        allOf:        –  #/definitions/vacancyStatus        description: Status da vaga      publishedDate:        type: string        format: date        description: Data de publicação da vaga      jobModels:        type: array        items:          type: string          allOf:          –  #/definitions/jobModel        description: Modelo de trabalho      location:        type: string        description: Localização da vaga      profile:        type: object        allOf:         –  #/definitions/profileDTO        description: Dados da empresa      _discriminator:        type: string        description:     suggestedVacancyDTO:    description: DTO para vaga sugerida    allOf:    –  #/definitions/vacancyInfoDTO    –      type: object      properties:        pcd:          type: boolean          description: Vaga para PCD          default: false    favoritedVacancyDTO:    description: Informações de uma vaga favoritada    type: object    required:      – id      – candidateId      – createdDate      – vacancy    properties:      id:        type: string        description: Identificador do item na tabela favorite_vacancy      candidateId:        type: string        description: identificador do candidato      createdDate:        type: string        format: date        description: Data em que a vaga foi favoritada      vacancy:        type: object        allOf:         –  #/definitions/vacancyInfoDTO        description: Informações da vaga    vacancySuggestionDTO:    description: Vaga sugerida para o candidato    type: object    required:      – vacancy      – correlation      – status    properties:      vacancy:        type: object        allOf:         –  #/definitions/suggestedVacancyDTO        description: Identificador da vaga      correlation:        type: integer        format: int64        description: Porcentagem de aderência      status:        type: string        allOf:        –  #/definitions/matcherSuggestion        description: Status de aderência    notifyUserEventPayload:    description: Represents a regular user event notification payload    discriminator: _discriminator    type: object    required:      – notificationKind      – notificationPriority      – notificationSubject      – notificationContent      – sourceDomain      – sourceService      – destinationUser      – _discriminator    properties:      notificationClass:        type: string        description: Class of notification      notificationOrigin:        type: string        description: Origin of notification. Free text. Optional.      notificationKind:        type: string        allOf:        –  #/definitions/userNotificationKind        description: Notification kind.      notificationPriority:        type: string        allOf:        –  #/definitions/userNotificationPriority        description: Notification priority.      notificationSubject:        type: string        description: Notification subject.      notificationContent:        type: string        description: Notification content.      sourceDomain:        type: string        description: Domain that generates the notification.      sourceService:        type: string        description: Service that generates the notification.      destinationUser:        type: string        description: Username of the destination user.      link:        type: string        description: Notification link      _discriminator:        type: string        description:     emailNotifyUserEventPayload:    description: Represents an email notification payload    allOf:    –  #/definitions/notifyUserEventPayload    –      type: object      required:        – from      properties:        from:          type: string          description: Email sender address        sendTo:          type: array          items:            type: string          description: Additional recipients to send the email to        format:          type: string          allOf:          –  #/definitions/eventEmailFormat          description: Email format    pushNotifyUserEventPayload:    description: Represents a push notification payload    allOf:    –  #/definitions/notifyUserEventPayload    –      type: object      required:        – applicationId      properties:        applicationId:          type: string          description: Apple/Google application id    blobReference:    description: Default blob reference type. Every service defines its own.    type: object    required:      – targetObjectId    properties:      domainName:        type: string        description: The domain the blob belongs to.      serviceName:        type: string        description: The service the blob belongs to.      targetObjectId:        type: string        description: The basic id of the blob.      targetCopyId:        type: string        description: The id of the blob copy.    basicErrorPayload:    description: Default error payload type. Every service defines its own.    type: object    properties:      message:        type: string        description: The user-facing error message, if any.      errorCode:        type: string        description: The program-accessible (and service-specific) error code.    dependency:    description: Represents a service dependency    type: object    required:      – domain      – service      – version    properties:      domain:        type: string        description: Domain of the dependency service      service:        type: string        description: Name of the dependency service              type: string        description: Version of the dependency service  genericError:    properties:      message:        type: string        description: Messaging describing the error.      reason:        type: string        enum:          – BAD_REQUEST          – UNAUTHORIZED          – PAYMENT_REQUIRED          – FORBIDDEN          – OBJECT_NOT_FOUND          – REQUEST_TIMEOUT          – GONE          – UNPROCESSABLE          – INTERNAL_ERROR          – NOT_IMPLEMENTED          – SERVICE_UNAVAILABLE          – INSUFFICIENT_STORAGE        description:            A symbolic code identifying the category of the reason of the error:           * `BAD_REQUEST` – Bad Request           * `UNAUTHORIZED` – Unauthorized           * `PAYMENT_REQUIRED` – Payment Required           * `OBJECT_NOT_FOUND` – Object Not Found           * `REQUEST_TIMEOUT` – Request Timeout           * `GONE` – Gone           * `UNPROCESSABLE` – Unprocessable           * `INTERNAL_ERROR` – Internal Error           * `NOT_IMPLEMENTED` – Not Implemented           * `SERVICE_UNAVAILABLE` – Service Unavailable           * `INSUFFICIENT_STORAGE` – Insufficient Storage