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: $.