Deel subpackage_plans401K API

The subpackage_plans401K API from Deel — 5 operation(s) for subpackage_plans401k.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/deel-subpackage-plans401k-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

deel-subpackage-plans401k-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Endpoints subpackage_plans401K API
  version: 1.0.0
servers:
- url: https://api.letsdeel.com/rest/v2
- url: https://api-staging.letsdeel.com/rest/v2
tags:
- name: subpackage_plans401K
paths:
  /benefits/legal-entities/{id}/benefits/401k/activate:
    post:
      operationId: activate-the-401-k-integration-for-the-legal-entity-v-2026-01-01
      summary: Activate the 401k integration for the legal entity
      description: "Activate the 401k integration for the legal entity\n **Token scopes**: `benefits:write`"
      tags:
      - subpackage_plans401K
      parameters:
      - name: id
        in: path
        description: Id from the legal entity to activate 401k integration
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n"
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans 401K_activateThe401KIntegrationForTheLegalEntity-v2026-01-01_Response_200'
        '400':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '401':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '403':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '500':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
  /benefits/legal-entities/{id}/401k/plans/clean-up:
    post:
      operationId: clean-up-plan-for-a-given-legal-entity-v-2026-01-01
      summary: Clean up plan for a given legal entity
      description: "Clean up plan for a given legal entity\n **Token scopes**: `benefits:write`"
      tags:
      - subpackage_plans401K
      parameters:
      - name: id
        in: path
        description: Id from the legal entity to clean up
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n"
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Request accepted, processing asynchronously.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans 401K_cleanUpPlanForAGivenLegalEntity-v2026-01-01_Response_202'
        '400':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '401':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '403':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '500':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
  /benefits/legal-entities/{legal_entity_id}/401k/plans:
    post:
      operationId: create-401-k-plan-for-legal-entity-v-2026-01-01
      summary: Create 401k plan for legal entity
      description: "Create a new 401k plan for existing provider to legal entity\n **Token scopes**: `benefits:write`"
      tags:
      - subpackage_plans401K
      parameters:
      - name: legal_entity_id
        in: path
        description: Id from the legal entity to receive a new 401k plan
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n"
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans 401K_create401KPlanForLegalEntity-v2026-01-01_Response_200'
        '400':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '401':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '403':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '500':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the 401K plan.
                details:
                  $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaDetails'
                  description: Object containing additional information about the 401K plan.
                start_date:
                  type: string
                  format: date
                  description: Start date of the plan.
                contribution_type:
                  $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaContributionType'
                  description: Type of contribution for the 401K plan.
                contribution_value:
                  type: number
                  format: double
                  description: Value of the contribution if type is percent or amount.
                contribution_value_for_match_rate:
                  type: array
                  items:
                    $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaContributionValueForMatchRateItems'
                  description: Array of objects containing limits and rates for match rate contribution type.
              required:
              - name
              - start_date
              - contribution_type
  /benefits/legal-entities/{id}/401k/plans:
    get:
      operationId: get-401-k-plans-for-legal-entity-v-2026-01-01
      summary: Get 401k plans for legal entity
      description: "Get 401k plans legal entity\n **Token scopes**: `benefits:read`"
      tags:
      - subpackage_plans401K
      parameters:
      - name: id
        in: path
        description: Id from the legal entity to fetch 401k plans
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n"
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans 401K_get401KPlansForLegalEntity-v2026-01-01_Response_200'
        '400':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '401':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '403':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '500':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
  /benefits/legal-entities/{legal_entity_id}/401k/plans/{plan_id}:
    put:
      operationId: update-401-k-plan-v-2026-01-01
      summary: Update 401k plan
      description: "Update 401k plan\n **Token scopes**: `benefits:write`"
      tags:
      - subpackage_plans401K
      parameters:
      - name: legal_entity_id
        in: path
        description: Id from the legal entity to update a 401k plan
        required: true
        schema:
          type: string
      - name: plan_id
        in: path
        description: 401K plan id
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n"
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans 401K_update401KPlan-v2026-01-01_Response_200'
        '400':
          description: Bad Request - Invalid input parameters or validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Update401KPlan-v2026-01-01RequestBadRequestError'
        '401':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '403':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '404':
          description: Not Found - The specified plan or legal entity was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Update401KPlan-v2026-01-01RequestNotFoundError'
        '500':
          description: Internal Server Error - An unexpected error occurred on the server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Update401KPlan-v2026-01-01RequestInternalServerError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaData'
                  description: Schema for the 401K Guideline Plan request body.
              required:
              - data
components:
  schemas:
    Update401KPlan-v2026-01-01RequestBadRequestError:
      type: object
      properties:
        error:
          type: string
          description: Error message describing what went wrong with the request.
      required:
      - error
      title: Update401KPlan-v2026-01-01RequestBadRequestError
    BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataContributionType:
      type: string
      enum:
      - PERCENTAGE
      - NEC_PERCENTAGE
      - NEC_FIXED_AMOUNT
      - FIXED_AMOUNT
      - MATCH
      description: Type of contribution for the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataContributionType
    BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataDetails:
      type: object
      properties: {}
      description: Object containing additional information about the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataDetails
    BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaContributionValueForMatchRateItems:
      type: object
      properties:
        rate:
          type: number
          format: double
          description: Rate of matching contribution.
        limit:
          type: number
          format: double
          description: Limit up to which the match rate is applicable.
      required:
      - rate
      - limit
      description: Contribution values for match rate type.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaContributionValueForMatchRateItems
    Update401KPlan-v2026-01-01RequestNotFoundError:
      type: object
      properties:
        error:
          type: string
          description: Error message indicating the requested resource was not found.
      required:
      - error
      title: Update401KPlan-v2026-01-01RequestNotFoundError
    Plans 401K_cleanUpPlanForAGivenLegalEntity-v2026-01-01_Response_202:
      type: object
      properties: {}
      title: Plans 401K_cleanUpPlanForAGivenLegalEntity-v2026-01-01_Response_202
    Update401KPlan-v2026-01-01RequestInternalServerError:
      type: object
      properties:
        error:
          type: string
          description: Error message indicating an internal server error occurred.
      required:
      - error
      title: Update401KPlan-v2026-01-01RequestInternalServerError
    ? BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataContributionValueForMatchRateItems
    : type: object
      properties:
        rate:
          type:
          - number
          - 'null'
          format: double
          description: Rate of matching contribution.
        limit:
          type:
          - number
          - 'null'
          format: double
          description: Limit up to which the match rate is applicable.
      description: Contribution values for match rate type.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataContributionValueForMatchRateItems
    BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
          description: ID of the 401K plan.
        name:
          type: string
          description: Name of the 401K plan.
        details:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataDetails'
          description: Object containing additional information about the 401K plan.
        currency:
          type: string
          description: Currency for the contributions in ISO 4217 format.
        start_date:
          type: string
          format: date-time
          description: Start date of the plan.
        contribution_type:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataContributionType'
          description: Type of contribution for the 401K plan.
        contribution_limit:
          type: number
          format: double
          description: Limit of the contribution.
        contribution_value:
          type: number
          format: double
          description: Value of the contribution if type is percent or amount.
        contribution_value_for_match_rate:
          type: array
          items:
            $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataContributionValueForMatchRateItems'
          description: Array of objects containing limits and rates for match rate contribution type.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaData
    Plans 401K_update401KPlan-v2026-01-01_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaData'
          description: Plan object for non PEO legal entity.
      required:
      - data
      title: Plans 401K_update401KPlan-v2026-01-01_Response_200
    BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsDetails:
      type: object
      properties: {}
      description: Object containing additional information about the 401K plan.
      title: BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsDetails
    ApiError:
      type: object
      properties:
        message:
          type: string
          description: A description of the returned error
        path:
          type: string
          description: The JSON path where input validation failed
      title: ApiError
    BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaDetails:
      type: object
      properties:
        key:
          type: string
          description: A key-value pair providing additional details about the plan.
      description: Object containing additional information about the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaDetails
    BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaData:
      type: object
      properties:
        name:
          type: string
          description: Name of the 401K plan.
        details:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataDetails'
          description: Object containing additional information about the 401K plan.
        end_date:
          type: string
          format: date
          description: End date of the plan.
        start_date:
          type: string
          format: date
          description: Start date of the plan.
        contribution_type:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataContributionType'
          description: Type of contribution for the 401K plan.
        contribution_value:
          type: number
          format: double
          description: Value of the contribution if type is percent or amount.
        contribution_value_for_match_rate:
          type: array
          items:
            $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataContributionValueForMatchRateItems'
          description: Array of objects containing limits and rates for match rate contribution type.
      required:
      - name
      - start_date
      - contribution_type
      description: Schema for the 401K Guideline Plan request body.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaData
    Plans 401K_create401KPlanForLegalEntity-v2026-01-01_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaData'
      title: Plans 401K_create401KPlanForLegalEntity-v2026-01-01_Response_200
    ? BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataContributionValueForMatchRateItems
    : type: object
      properties:
        rate:
          type: number
          format: double
          description: Rate of matching contribution.
        limit:
          type: number
          format: double
          description: Limit up to which the match rate is applicable.
      required:
      - rate
      - limit
      description: Contribution values for match rate type.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataContributionValueForMatchRateItems
    BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsContributionType:
      type: string
      enum:
      - PERCENTAGE
      - FIXED_AMOUNT
      - MATCH
      - NEC_FIXED_AMOUNT
      - NEC_PERCENTAGE
      description: Type of contribution for the 401K plan.
      title: BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsContributionType
    ApiErrorContainer:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/ApiErrorRequest'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
      title: ApiErrorContainer
    BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataContributionValueForMatchRateItems:
      type: object
      properties:
        rate:
          type: number
          format: double
          description: Rate of matching contribution.
        limit:
          type: number
          format: double
          description: Limit up to which the match rate is applicable.
      required:
      - rate
      - limit
      description: Contribution values for match rate type.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataContributionValueForMatchRateItems
    Plans 401K_get401KPlansForLegalEntity-v2026-01-01_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItems'
          description: List of plans
      title: Plans 401K_get401KPlansForLegalEntity-v2026-01-01_Response_200
    BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        id:
          type: string
          description: ID of the 401K plan.
        name:
          type: string
          description: Name of the 401K plan.
        details:
          $ref: '#/components/schemas/BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsDetails'
          description: Object containing additional information about the 401K plan.
        end_date:
          type: string
          description: End date of the plan.
        start_date:
          type:
          - string
          - 'null'
          description: Start date of the plan.
        contribution_type:
          $ref: '#/components/schemas/BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsContributionType'
          description: Type of contribution for the 401K plan.
        contribution_value:
          type: number
          format: double
          description: Value of the contribution if type is percent or amount.
        contribution_value_for_match_rate:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsContributionValueForMatchRateItems'
          description: Array of objects containing limits and rates for match rate contribution type.
      title: BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItems
    BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataContributionType:
      type: string
      enum:
      - NEC_PERCENTAGE
      - NEC_FIXED_AMOUNT
      - PERCENTAGE
      - FIXED_AMOUNT
      - MATCH
      description: Type of contribution for the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutRequestBodyContentApplicationJsonSchemaDataContributionType
    BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
          description: ID of the 401K plan.
        name:
          type: string
          description: Name of the 401K plan.
        details:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataDetails'
          description: Object containing additional information about the 401K plan.
        end_date:
          type: string
          description: End date of the plan.
        start_date:
          type: string
          description: Start date of the plan.
        contribution_type:
          $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataContributionType'
          description: Type of contribution for the 401K plan.
        contribution_limit:
          type: number
          format: double
          description: Limit of the contribution.
        contribution_value:
          type: number
          format: double
          description: Value of the contribution if type is percent or amount.
        contribution_value_for_match_rate:
          type: array
          items:
            $ref: '#/components/schemas/BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataContributionValueForMatchRateItems'
          description: Array of objects containing limits and rates for match rate contribution type.
      required:
      - name
      - start_date
      - contribution_type
      description: Plan object for non PEO legal entity.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaData
    BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataDetails:
      type: object
      properties:
        key:
          type: string
          description: A key-value pair providing additional details about the plan.
      description: Object containing additional information about the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPostResponsesContentApplicationJsonSchemaDataDetails
    BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataContributionType:
      type: string
      enum:
      - NEC_PERCENTAGE
      - NEC_FIXED_AMOUNT
      - PERCENTAGE
      - FIXED_AMOUNT
      - MATCH
      description: Type of contribution for the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataContributionType
    BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataDetails:
      type: object
      properties: {}
      description: Object containing additional information about the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPlanIdPutResponsesContentApplicationJsonSchemaDataDetails
    BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsContributionValueForMatchRateItems:
      type: object
      properties:
        rate:
          type:
          - number
          - 'null'
          format: double
          description: Rate of matching contribution.
        limit:
          type:
          - number
          - 'null'
          format: double
          description: Limit up to which the match rate is applicable.
      title: BenefitsLegalEntitiesId401KPlansGetResponsesContentApplicationJsonSchemaDataItemsContributionValueForMatchRateItems
    BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaContributionType:
      type: string
      enum:
      - PERCENTAGE
      - NEC_PERCENTAGE
      - NEC_FIXED_AMOUNT
      - FIXED_AMOUNT
      - MATCH
      description: Type of contribution for the 401K plan.
      title: BenefitsLegalEntitiesLegalEntityId401KPlansPostRequestBodyContentApplicationJsonSchemaContributionType
    Plans 401K_activateThe401KIntegrationForTheLegalEntity-v2026-01-01_Response_200:
      type: object
      properties:
        isActive:
          type: boolean
          description: Whether the 401k integration has been activated or not.
      title: Plans 401K_activateThe401KIntegrationForTheLegalEntity-v2026-01-01_Response_200
    ApiErrorRequest:
      type: object
      properties:
        method:
          type: string
          description: The HTTP method of the failed request
        url:
          type: string
          description: The relative URL of the failed request
        status:
          type: number
          format: double
          description: The status code of the response
        api_req_id:
          type: string
          description: The request ID of the failed request
        docs:
          type: string
          description: A link to the official documentation for the requested endpoint resource
        source:
          type: string
          description: The source handler which produced the returned error
        code:
          type: number
          format: double
          description: The code of the source handler which produced the returned error
      title: ApiErrorRequest
  securitySchemes:
    deelToken:
      type: http
      scheme: bearer
      description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n"
    oauth2:
      type: http
      scheme: bearer
      description: Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/