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

# Create complementary contract affiliation

> Required scope: `org:employee:health_insurance:manage`



## OpenAPI

````yaml /api-reference/openapi/public-api-1.11.0-partners.json put /organizations/{organizationId}/collaborators/{collaboratorId}/affiliations
openapi: 3.0.0
info:
  title: malibou public API
  version: 1.11.0
  description: >-
    ⚠️ These endpoints require an approved malibou partner integration — a
    self-serve API key cannot access them, regardless of the permissions it is
    granted. See the Partner-only scopes section of the Authentication guide.
servers:
  - url: https://app.malibou.com/api/public/v1
security:
  - bearerAuth: []
tags:
  - name: Organizations
    description: Organizations endpoints
    x-group: Organizations
  - name: Meal Vouchers
    description: Meal Vouchers endpoints
    x-group: Meal Vouchers
  - name: Complementary Contracts
    description: Complementary Contracts endpoints
    x-group: Complementary Contracts
  - name: Complementary Contracts Affiliations
    description: Complementary Contracts Affiliations endpoints
    x-group: Complementary Contracts Affiliations
paths:
  /organizations/{organizationId}/collaborators/{collaboratorId}/affiliations:
    put:
      tags:
        - Complementary Contracts Affiliations
      summary: Create complementary contract affiliation
      description: 'Required scope: `org:employee:health_insurance:manage`'
      operationId: createComplementaryContractCollaboratorAffiliation
      parameters:
        - schema:
            type: string
          required: true
          name: organizationId
          in: path
        - schema:
            type: string
          required: true
          name: collaboratorId
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    establishmentId:
                      type: string
                    complementaryContractId:
                      type: string
                    status:
                      type: string
                      enum:
                        - active
                    optionId:
                      type: string
                  required:
                    - establishmentId
                    - complementaryContractId
                    - status
                    - optionId
                - type: object
                  properties:
                    establishmentId:
                      type: string
                    complementaryContractId:
                      type: string
                    status:
                      type: string
                      enum:
                        - exempted
                    optionId:
                      type: string
                      nullable: true
                  required:
                    - establishmentId
                    - complementaryContractId
                    - status
                    - optionId
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    oneOf:
                      - type: object
                        properties:
                          startDate:
                            type: string
                            format: date-time
                          endDate:
                            type: string
                            nullable: true
                            format: date-time
                          complementaryContract:
                            type: object
                            properties:
                              id:
                                type: string
                              organismeCode:
                                type: string
                                nullable: true
                              contractReference:
                                type: string
                            required:
                              - id
                              - organismeCode
                              - contractReference
                          status:
                            type: string
                            enum:
                              - active
                          option:
                            type: object
                            properties:
                              id:
                                type: string
                              optionCode:
                                type: string
                              optionName:
                                type: string
                              populationCode:
                                type: string
                                nullable: true
                              populationName:
                                type: string
                                nullable: true
                            required:
                              - id
                              - optionCode
                              - optionName
                              - populationCode
                              - populationName
                        required:
                          - startDate
                          - endDate
                          - complementaryContract
                          - status
                          - option
                      - type: object
                        properties:
                          startDate:
                            type: string
                            format: date-time
                          endDate:
                            type: string
                            nullable: true
                            format: date-time
                          complementaryContract:
                            type: object
                            properties:
                              id:
                                type: string
                              organismeCode:
                                type: string
                                nullable: true
                              contractReference:
                                type: string
                            required:
                              - id
                              - organismeCode
                              - contractReference
                          status:
                            type: string
                            enum:
                              - exempted
                          option:
                            type: object
                            nullable: true
                            properties:
                              id:
                                type: string
                              optionCode:
                                type: string
                              optionName:
                                type: string
                              populationCode:
                                type: string
                                nullable: true
                              populationName:
                                type: string
                                nullable: true
                            required:
                              - id
                              - optionCode
                              - optionName
                              - populationCode
                              - populationName
                        required:
                          - startDate
                          - endDate
                          - complementaryContract
                          - status
                          - option
                required:
                  - data
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````