Noun Project · Capability

Noun Project API V2 — Usage

Usage — Inspect current API key usage and quota windows for the Noun Project API. 1 operation. Lead operation: Get Client Usage returns hourly, daily, and monthly snapshots. Self-contained Naftiko capability covering one Noun Project business surface.

Run with Naftiko Noun ProjectUsageQuota Telemetry

What You Can Do

GET
Getusage — Return current client key usage and quota snapshots.
/v1/usage

MCP Tools

get-usage

Return current client key usage and quota snapshots.

read-only idempotent

Capability Spec

noun-project-usage.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Noun Project API V2 — Usage"
  description: >-
    Usage — Inspect current API key usage and quota windows for the Noun Project
    API. 1 operation. Lead operation: Get Client Usage returns hourly, daily, and
    monthly snapshots. Self-contained Naftiko capability covering one Noun Project
    business surface.
  tags:
    - Noun Project
    - Usage
    - Quota Telemetry
  created: "2026-05-28"
  modified: "2026-05-28"

binds:
  - namespace: env
    keys:
      NOUN_PROJECT_OAUTH_KEY: NOUN_PROJECT_OAUTH_KEY
      NOUN_PROJECT_OAUTH_SECRET: NOUN_PROJECT_OAUTH_SECRET

capability:

  consumes:
    - type: http
      namespace: "noun-project-usage"
      baseUri: "https://api.thenounproject.com"
      description: "Noun Project API V2 — Usage business capability. Self-contained, no shared references."
      authentication:
        type: oauth1
        consumerKey: "{{env.NOUN_PROJECT_OAUTH_KEY}}"
        consumerSecret: "{{env.NOUN_PROJECT_OAUTH_SECRET}}"
        signatureMethod: HMAC-SHA1
      resources:
        - name: "client-usage"
          path: "/v2/client/usage"
          operations:
            - name: "getUsage"
              method: GET
              description: "Return current client key usage and quota snapshots."
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "noun-project-usage-rest"
      port: 8080
      description: "REST adapter for Noun Project API V2 — Usage."
      resources:
        - path: "/v1/usage"
          name: "usage"
          description: "REST surface for client usage telemetry."
          operations:
            - method: GET
              name: "getUsage"
              description: "Return current client key usage and quota snapshots."
              call: "noun-project-usage.getUsage"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "noun-project-usage-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Noun Project API V2 — Usage."
      tools:
        - name: "get-usage"
          description: "Return current client key usage and quota snapshots."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "noun-project-usage.getUsage"
          with: {}
          outputParameters:
            - type: object
              mapping: "$."