naftiko: 1.0.0-alpha2 info: label: Gridshare Partner API — Sites description: 'Gridshare Partner API — Sites. Self-contained Naftiko capability covering one Gridshare business surface.' tags: - Lunar Energy - Gridshare - Partner - Sites created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: GRIDSHARE_ACCESS_TOKEN: GRIDSHARE_ACCESS_TOKEN capability: consumes: - type: http namespace: partner-sites baseUri: https://developer-api.partner.us.mygridshare.com description: Gridshare Partner Sites resource. Self-contained, no shared references. resources: - name: sites path: /api/v1/sites operations: - name: listsites method: GET description: List Sites outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createsite method: POST description: Create Site outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sites-siteid path: /api/v1/sites/{siteId} operations: - name: getsite method: GET description: Get Site outputRawFormat: json outputParameters: - name: result type: object value: $. - name: replacesite method: PUT description: Replace Site outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sites-siteid-topology path: /api/v1/sites/{siteId}/topology operations: - name: getsitetopology method: GET description: Get Site Topology outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer value: '{{env.GRIDSHARE_ACCESS_TOKEN}}' placement: header exposes: - type: rest namespace: partner-sites-rest port: 8080 description: REST adapter for Gridshare Partner Sites. resources: - path: /v1/sites name: sites description: REST surface for sites. operations: - method: GET name: listsites description: List Sites call: partner-sites.listsites outputParameters: - type: object mapping: $. - method: POST name: createsite description: Create Site call: partner-sites.createsite outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id} name: sites-siteid description: REST surface for a specific site. operations: - method: GET name: getsite description: Get Site call: partner-sites.getsite outputParameters: - type: object mapping: $. - method: PUT name: replacesite description: Replace Site call: partner-sites.replacesite outputParameters: - type: object mapping: $. - path: /v1/sites/{site-id}/topology name: sites-siteid-topology description: REST surface for site topology. operations: - method: GET name: getsitetopology description: Get Site Topology call: partner-sites.getsitetopology outputParameters: - type: object mapping: $. - type: mcp namespace: partner-sites-mcp port: 9090 transport: http description: MCP adapter for Gridshare Partner Sites. tools: - name: gridshare-partner-list-sites description: List Sites hints: readOnly: true destructive: false idempotent: true call: partner-sites.listsites outputParameters: - type: object mapping: $. - name: gridshare-partner-get-site description: Get Site hints: readOnly: true destructive: false idempotent: true call: partner-sites.getsite outputParameters: - type: object mapping: $. - name: gridshare-partner-create-site description: Create Site hints: readOnly: false destructive: false idempotent: false call: partner-sites.createsite outputParameters: - type: object mapping: $. - name: gridshare-partner-replace-site description: Replace Site hints: readOnly: false destructive: true idempotent: true call: partner-sites.replacesite outputParameters: - type: object mapping: $. - name: gridshare-partner-get-site-topology description: Get Site Topology hints: readOnly: true destructive: false idempotent: true call: partner-sites.getsitetopology outputParameters: - type: object mapping: $.