Deel · Capability

Endpoints — subpackage_costCenters

Endpoints — subpackage_costCenters. 3 operations. Lead operation: Assign cost centers to an employment contract. Self-contained Naftiko capability covering one Deel business surface.

Run with Naftiko Deelsubpackage_costCenters

What You Can Do

POST
Assigncostcenterstoanemploymentcontractv20260101 — Assign cost centers to an employment contract
/v1/contracts/{contract-id}/cost-centers
GET
Getlegalentitycostcenters — Get cost centers by legal entity
/v1/legal-entities/{legal-entity-id}/cost-centers
POST
Synccostcentersforlegalentityv20260101 — Sync cost centers for legal entity
/v1/legal-entities/{legal-entity-id}/cost-centers/synchronize

MCP Tools

assign-cost-centers-employment-contract

Assign cost centers to an employment contract

get-cost-centers-legal-entity

Get cost centers by legal entity

read-only idempotent
sync-cost-centers-legal-entity

Sync cost centers for legal entity

Capability Spec

platform-endpoints-subpackage-costcenters.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Endpoints — subpackage_costCenters
  description: 'Endpoints — subpackage_costCenters. 3 operations. Lead operation: Assign cost centers to an employment contract.
    Self-contained Naftiko capability covering one Deel business surface.'
  tags:
  - Deel
  - subpackage_costCenters
  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-costcenters
    baseUri: https://api.letsdeel.com/rest/v2
    description: Endpoints — subpackage_costCenters business capability. Self-contained, no shared references.
    resources:
    - name: contracts-contract_id-cost-centers
      path: /contracts/{contract_id}/cost-centers
      operations:
      - name: assigncostcenterstoanemploymentcontractv20260101
        method: POST
        description: Assign cost centers to an employment contract
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contract_id
          in: path
          type: string
          description: Employment's contract 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
    - name: legal-entities-legal_entity_id-cost-centers
      path: /legal-entities/{legal_entity_id}/cost-centers
      operations:
      - name: getlegalentitycostcenters
        method: GET
        description: Get cost centers by legal entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: legal_entity_id
          in: path
          type: string
          description: Legal entity id
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: legal-entities-legal_entity_id-cost-centers-synchronize
      path: /legal-entities/{legal_entity_id}/cost-centers/synchronize
      operations:
      - name: synccostcentersforlegalentityv20260101
        method: POST
        description: Sync cost centers for legal entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: legal_entity_id
          in: path
          type: string
          description: Legal entity 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-costcenters-rest
    port: 8080
    description: REST adapter for Endpoints — subpackage_costCenters. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/contracts/{contract-id}/cost-centers
      name: contracts-contract-id-cost-centers
      description: REST surface for contracts-contract_id-cost-centers.
      operations:
      - method: POST
        name: assigncostcenterstoanemploymentcontractv20260101
        description: Assign cost centers to an employment contract
        call: platform-endpoints-subpackage-costcenters.assigncostcenterstoanemploymentcontractv20260101
        with:
          contract_id: rest.contract_id
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/legal-entities/{legal-entity-id}/cost-centers
      name: legal-entities-legal-entity-id-cost-centers
      description: REST surface for legal-entities-legal_entity_id-cost-centers.
      operations:
      - method: GET
        name: getlegalentitycostcenters
        description: Get cost centers by legal entity
        call: platform-endpoints-subpackage-costcenters.getlegalentitycostcenters
        with:
          legal_entity_id: rest.legal_entity_id
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/legal-entities/{legal-entity-id}/cost-centers/synchronize
      name: legal-entities-legal-entity-id-cost-centers-synchronize
      description: REST surface for legal-entities-legal_entity_id-cost-centers-synchronize.
      operations:
      - method: POST
        name: synccostcentersforlegalentityv20260101
        description: Sync cost centers for legal entity
        call: platform-endpoints-subpackage-costcenters.synccostcentersforlegalentityv20260101
        with:
          legal_entity_id: rest.legal_entity_id
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-endpoints-subpackage-costcenters-mcp
    port: 9090
    transport: http
    description: MCP adapter for Endpoints — subpackage_costCenters. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: assign-cost-centers-employment-contract
      description: Assign cost centers to an employment contract
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-endpoints-subpackage-costcenters.assigncostcenterstoanemploymentcontractv20260101
      with:
        contract_id: tools.contract_id
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-cost-centers-legal-entity
      description: Get cost centers by legal entity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-costcenters.getlegalentitycostcenters
      with:
        legal_entity_id: tools.legal_entity_id
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: sync-cost-centers-legal-entity
      description: Sync cost centers for legal entity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-endpoints-subpackage-costcenters.synccostcentersforlegalentityv20260101
      with:
        legal_entity_id: tools.legal_entity_id
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.