North.Cloud · Capability

North.Cloud Public API — Cost Units

North.Cloud Public API — Cost Units. 2 operations. Lead operation: Retrieve cost unit. Self-contained Naftiko capability covering one North Cloud business surface.

Run with Naftiko North CloudCost Units

What You Can Do

GET
Getcostunit — Retrieve cost unit
/v1/public/cost-units
POST
Updatecostunit — Update cost unit data
/v1/public/cost-units

MCP Tools

retrieve-cost-unit

Retrieve cost unit

read-only idempotent
update-cost-unit-data

Update cost unit data

Capability Spec

north-cloud-cost-units.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: North.Cloud Public API — Cost Units
  description: 'North.Cloud Public API — Cost Units. 2 operations. Lead operation: Retrieve cost unit. Self-contained Naftiko
    capability covering one North Cloud business surface.'
  tags:
  - North Cloud
  - Cost Units
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NORTH_CLOUD_API_KEY: NORTH_CLOUD_API_KEY
capability:
  consumes:
  - type: http
    namespace: north-cloud-cost-units
    baseUri: https://api.north.cloud
    description: North.Cloud Public API — Cost Units business capability. Self-contained, no shared references.
    resources:
    - name: public-cost-units
      path: /public/cost-units
      operations:
      - name: getcostunit
        method: GET
        description: Retrieve cost unit
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: costUnitId
          in: query
          type: string
          description: Identifier combining business unit and cost unit (for example `bu-123:cu-456`).
          required: true
      - name: updatecostunit
        method: POST
        description: Update cost unit data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: replace
          in: query
          type: boolean
          description: When true, replaces the cost unit's data set instead of merging.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.NORTH_CLOUD_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: north-cloud-cost-units-rest
    port: 8080
    description: REST adapter for North.Cloud Public API — Cost Units. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/public/cost-units
      name: public-cost-units
      description: REST surface for public-cost-units.
      operations:
      - method: GET
        name: getcostunit
        description: Retrieve cost unit
        call: north-cloud-cost-units.getcostunit
        with:
          costUnitId: rest.costUnitId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updatecostunit
        description: Update cost unit data
        call: north-cloud-cost-units.updatecostunit
        with:
          replace: rest.replace
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: north-cloud-cost-units-mcp
    port: 9090
    transport: http
    description: MCP adapter for North.Cloud Public API — Cost Units. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: retrieve-cost-unit
      description: Retrieve cost unit
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: north-cloud-cost-units.getcostunit
      with:
        costUnitId: tools.costUnitId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-cost-unit-data
      description: Update cost unit data
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: north-cloud-cost-units.updatecostunit
      with:
        replace: tools.replace
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.