Deel · Capability

Endpoints — subpackage_plans401K

Endpoints — subpackage_plans401K. 5 operations. Lead operation: Get 401k plans for legal entity. Self-contained Naftiko capability covering one Deel business surface.

Run with Naftiko Deelsubpackage_plans401K

What You Can Do

GET
Get401kplansforlegalentityv20260101 — Get 401k plans for legal entity
/v1/benefits/legal-entities/{id}/401k/plans
POST
Cleanupplanforagivenlegalentityv20260101 — Clean up plan for a given legal entity
/v1/benefits/legal-entities/{id}/401k/plans/clean-up
POST
Activatethe401kintegrationforthelegalentityv20260101 — Activate the 401k integration for the legal entity
/v1/benefits/legal-entities/{id}/benefits/401k/activate
POST
Create401kplanforlegalentityv20260101 — Create 401k plan for legal entity
/v1/benefits/legal-entities/{legal-entity-id}/401k/plans
PUT
Update401kplanv20260101 — Update 401k plan
/v1/benefits/legal-entities/{legal-entity-id}/401k/plans/{plan-id}

MCP Tools

get-401k-plans-legal-entity

Get 401k plans for legal entity

read-only idempotent
clean-up-plan-given-legal

Clean up plan for a given legal entity

activate-401k-integration-legal-entity

Activate the 401k integration for the legal entity

create-401k-plan-legal-entity

Create 401k plan for legal entity

update-401k-plan

Update 401k plan

idempotent

Capability Spec

platform-endpoints-subpackage-plans401k.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Endpoints — subpackage_plans401K
  description: 'Endpoints — subpackage_plans401K. 5 operations. Lead operation: Get 401k plans for legal entity. Self-contained
    Naftiko capability covering one Deel business surface.'
  tags:
  - Deel
  - subpackage_plans401K
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DEEL_API_KEY: DEEL_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-endpoints-subpackage-plans401k
    baseUri: https://api.letsdeel.com/rest/v2
    description: Endpoints — subpackage_plans401K business capability. Self-contained, no shared references.
    resources:
    - name: benefits-legal-entities-id-401k-plans
      path: /benefits/legal-entities/{id}/401k/plans
      operations:
      - name: get401kplansforlegalentityv20260101
        method: GET
        description: Get 401k plans for legal entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Id from the legal entity to fetch 401k plans
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: benefits-legal-entities-id-401k-plans-clean-up
      path: /benefits/legal-entities/{id}/401k/plans/clean-up
      operations:
      - name: cleanupplanforagivenlegalentityv20260101
        method: POST
        description: Clean up plan for a given legal entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Id from the legal entity to clean up
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: benefits-legal-entities-id-benefits-401k-activate
      path: /benefits/legal-entities/{id}/benefits/401k/activate
      operations:
      - name: activatethe401kintegrationforthelegalentityv20260101
        method: POST
        description: Activate the 401k integration for the legal entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Id from the legal entity to activate 401k integration
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: benefits-legal-entities-legal_entity_id-401k-plans
      path: /benefits/legal-entities/{legal_entity_id}/401k/plans
      operations:
      - name: create401kplanforlegalentityv20260101
        method: POST
        description: Create 401k plan for legal entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: legal_entity_id
          in: path
          type: string
          description: Id from the legal entity to receive a new 401k plan
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: benefits-legal-entities-legal_entity_id-401k-plans-plan_id
      path: /benefits/legal-entities/{legal_entity_id}/401k/plans/{plan_id}
      operations:
      - name: update401kplanv20260101
        method: PUT
        description: Update 401k plan
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: legal_entity_id
          in: path
          type: string
          description: Id from the legal entity to update a 401k plan
          required: true
        - name: plan_id
          in: path
          type: string
          description: 401K plan id
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.DEEL_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-endpoints-subpackage-plans401k-rest
    port: 8080
    description: REST adapter for Endpoints — subpackage_plans401K. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/benefits/legal-entities/{id}/401k/plans
      name: benefits-legal-entities-id-401k-plans
      description: REST surface for benefits-legal-entities-id-401k-plans.
      operations:
      - method: GET
        name: get401kplansforlegalentityv20260101
        description: Get 401k plans for legal entity
        call: platform-endpoints-subpackage-plans401k.get401kplansforlegalentityv20260101
        with:
          id: rest.id
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/benefits/legal-entities/{id}/401k/plans/clean-up
      name: benefits-legal-entities-id-401k-plans-clean-up
      description: REST surface for benefits-legal-entities-id-401k-plans-clean-up.
      operations:
      - method: POST
        name: cleanupplanforagivenlegalentityv20260101
        description: Clean up plan for a given legal entity
        call: platform-endpoints-subpackage-plans401k.cleanupplanforagivenlegalentityv20260101
        with:
          id: rest.id
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/benefits/legal-entities/{id}/benefits/401k/activate
      name: benefits-legal-entities-id-benefits-401k-activate
      description: REST surface for benefits-legal-entities-id-benefits-401k-activate.
      operations:
      - method: POST
        name: activatethe401kintegrationforthelegalentityv20260101
        description: Activate the 401k integration for the legal entity
        call: platform-endpoints-subpackage-plans401k.activatethe401kintegrationforthelegalentityv20260101
        with:
          id: rest.id
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/benefits/legal-entities/{legal-entity-id}/401k/plans
      name: benefits-legal-entities-legal-entity-id-401k-plans
      description: REST surface for benefits-legal-entities-legal_entity_id-401k-plans.
      operations:
      - method: POST
        name: create401kplanforlegalentityv20260101
        description: Create 401k plan for legal entity
        call: platform-endpoints-subpackage-plans401k.create401kplanforlegalentityv20260101
        with:
          legal_entity_id: rest.legal_entity_id
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/benefits/legal-entities/{legal-entity-id}/401k/plans/{plan-id}
      name: benefits-legal-entities-legal-entity-id-401k-plans-plan-id
      description: REST surface for benefits-legal-entities-legal_entity_id-401k-plans-plan_id.
      operations:
      - method: PUT
        name: update401kplanv20260101
        description: Update 401k plan
        call: platform-endpoints-subpackage-plans401k.update401kplanv20260101
        with:
          legal_entity_id: rest.legal_entity_id
          plan_id: rest.plan_id
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-endpoints-subpackage-plans401k-mcp
    port: 9090
    transport: http
    description: MCP adapter for Endpoints — subpackage_plans401K. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-401k-plans-legal-entity
      description: Get 401k plans for legal entity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-plans401k.get401kplansforlegalentityv20260101
      with:
        id: tools.id
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: clean-up-plan-given-legal
      description: Clean up plan for a given legal entity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-endpoints-subpackage-plans401k.cleanupplanforagivenlegalentityv20260101
      with:
        id: tools.id
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: activate-401k-integration-legal-entity
      description: Activate the 401k integration for the legal entity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-endpoints-subpackage-plans401k.activatethe401kintegrationforthelegalentityv20260101
      with:
        id: tools.id
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: create-401k-plan-legal-entity
      description: Create 401k plan for legal entity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-endpoints-subpackage-plans401k.create401kplanforlegalentityv20260101
      with:
        legal_entity_id: tools.legal_entity_id
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-401k-plan
      description: Update 401k plan
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-plans401k.update401kplanv20260101
      with:
        legal_entity_id: tools.legal_entity_id
        plan_id: tools.plan_id
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.