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

# Assign a compensation to an employee

> Assigns an existing compensation to an employee.

**Requirements:**
- The employee must have an active salary
- The compensation's period must match the employee's salary period
- The compensation's currency must match the employee's salary currency

If these requirements are not met, a 422 error (IncompatibleCompensationException) is returned.



## OpenAPI

````yaml POST /contract/v1/employees/{employeeId}/compensations/{compensationId}
openapi: 3.0.0
info:
  description: ''
  version: 3.0.0
  title: Sesame Public API
servers:
  - url: https://api-{region}.sesametime.com
    variables:
      region:
        default: eu1
security: []
tags: []
paths:
  /contract/v1/employees/{employeeId}/compensations/{compensationId}:
    post:
      tags:
        - Employee Compensations
      summary: Assign a compensation to an employee
      description: >-
        Assigns an existing compensation to an employee.


        **Requirements:**

        - The employee must have an active salary

        - The compensation's period must match the employee's salary period

        - The compensation's currency must match the employee's salary currency


        If these requirements are not met, a 422 error
        (IncompatibleCompensationException) is returned.
      operationId: AssignCompensationToEmployee
      parameters:
        - name: employeeId
          in: path
          description: The employee ID
          required: true
          schema:
            type: string
            format: uuid
        - name: compensationId
          in: path
          description: The compensation ID to assign
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - startDate
              properties:
                startDate:
                  type: string
                  format: date
                  description: Assignment start date (Y-m-d)
                  example: '2024-01-15'
                endDate:
                  type: string
                  format: date
                  nullable: true
                  description: Assignment end date (Y-m-d), optional
                  example: '2024-12-31'
      responses:
        '204':
          description: No Content
          content: {}
        '400':
          description: Bad Request - The request was invalid or cannot be served
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing what went wrong
                    example: Validation failed for the provided data
                  errors:
                    type: array
                    description: List of specific validation errors
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: The field that caused the error
                          example: questionId
                        message:
                          type: string
                          description: Specific error message for the field
                          example: This value is not a valid UUID.
              example:
                message: Validation failed
                errors:
                  - field: questionId
                    message: This value is not a valid UUID.
                  - field: answer
                    message: This field is required for text-based questions.
        '401':
          description: Unauthorized - Invalid or missing API Key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message indicating authentication failure
                    example: Invalid or missing API Key
                  code:
                    type: string
                    description: Error code for programmatic handling
                    example: UNAUTHORIZED
              example:
                message: Invalid or missing API Key
                code: UNAUTHORIZED
        '404':
          description: Not Found - The requested resource could not be found
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message indicating the resource was not found
                    example: Evaluation not found
                  code:
                    type: string
                    description: Error code for programmatic handling
                    example: EVALUATION_NOT_FOUND
              example:
                message: >-
                  Evaluation with ID 123e4567-e89b-12d3-a456-426614174000 was
                  not found
                code: EVALUATION_NOT_FOUND
        '409':
          description: Compensation already assigned to this employee
        '422':
          description: Incompatible period or currency between salary and compensation
        '429':
          description: Too Many Requests - Rate limit exceeded
      security:
        - Bearer: []
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````