naftiko: 1.0.0-alpha2 info: label: Render Public API — Services description: 'Render Public API — Services. 25 operations. Lead operation: List services. Self-contained Naftiko capability covering one Render business surface.' tags: - Render - Services created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RENDER_API_KEY: RENDER_API_KEY capability: consumes: - type: http namespace: render-services baseUri: https://api.render.com/v1 description: Render Public API — Services business capability. Self-contained, no shared references. resources: - name: services path: /services operations: - name: listservices method: GET description: List services outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createservice method: POST description: Create service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: services-serviceId path: /services/{serviceId} operations: - name: retrieveservice method: GET description: Retrieve service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateservice method: PATCH description: Update service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteservice method: DELETE description: Delete service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-autoscaling path: /services/{serviceId}/autoscaling operations: - name: autoscaleservice method: PUT description: Update autoscaling config outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteautoscalingconfig method: DELETE description: Delete autoscaling config outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-cache-purge path: /services/{serviceId}/cache/purge operations: - name: purgecache method: POST description: Purge Web Service Cache outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: services-serviceId-env-vars path: /services/{serviceId}/env-vars operations: - name: getenvvarsforservice method: GET description: List environment variables outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateenvvarsforservice method: PUT description: Update environment variables outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: services-serviceId-env-vars-envVarKey path: /services/{serviceId}/env-vars/{envVarKey} operations: - name: retrieveenvvar method: GET description: Retrieve environment variable outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateenvvar method: PUT description: Add or update environment variable outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteenvvar method: DELETE description: Delete environment variable outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-events path: /services/{serviceId}/events operations: - name: listevents method: GET description: List events outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-instances path: /services/{serviceId}/instances operations: - name: listinstances method: GET description: List instances outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-preview path: /services/{serviceId}/preview operations: - name: previewservice method: POST description: Create service preview (image-backed) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: services-serviceId-restart path: /services/{serviceId}/restart operations: - name: restartservice method: POST description: Restart service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-resume path: /services/{serviceId}/resume operations: - name: resumeservice method: POST description: Resume service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-scale path: /services/{serviceId}/scale operations: - name: scaleservice method: POST description: Scale instance count outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: services-serviceId-secret-files path: /services/{serviceId}/secret-files operations: - name: listsecretfilesforservice method: GET description: List secret files outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatesecretfilesforservice method: PUT description: Update secret files outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: services-serviceId-secret-files-secretFileName path: /services/{serviceId}/secret-files/{secretFileName} operations: - name: retrievesecretfile method: GET description: Retrieve secret file outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addorupdatesecretfile method: PUT description: Add or update secret file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletesecretfile method: DELETE description: Delete secret file outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceId-suspend path: /services/{serviceId}/suspend operations: - name: suspendservice method: POST description: Suspend service outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.RENDER_API_KEY}}' exposes: - type: rest namespace: render-services-rest port: 8080 description: REST adapter for Render Public API — Services. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/services name: services description: REST surface for services. operations: - method: GET name: listservices description: List services call: render-services.listservices outputParameters: - type: object mapping: $. - method: POST name: createservice description: Create service call: render-services.createservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid} name: services-serviceid description: REST surface for services-serviceId. operations: - method: GET name: retrieveservice description: Retrieve service call: render-services.retrieveservice outputParameters: - type: object mapping: $. - method: PATCH name: updateservice description: Update service call: render-services.updateservice with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteservice description: Delete service call: render-services.deleteservice outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/autoscaling name: services-serviceid-autoscaling description: REST surface for services-serviceId-autoscaling. operations: - method: PUT name: autoscaleservice description: Update autoscaling config call: render-services.autoscaleservice with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteautoscalingconfig description: Delete autoscaling config call: render-services.deleteautoscalingconfig outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/cache/purge name: services-serviceid-cache-purge description: REST surface for services-serviceId-cache-purge. operations: - method: POST name: purgecache description: Purge Web Service Cache call: render-services.purgecache with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/env-vars name: services-serviceid-env-vars description: REST surface for services-serviceId-env-vars. operations: - method: GET name: getenvvarsforservice description: List environment variables call: render-services.getenvvarsforservice outputParameters: - type: object mapping: $. - method: PUT name: updateenvvarsforservice description: Update environment variables call: render-services.updateenvvarsforservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/env-vars/{envvarkey} name: services-serviceid-env-vars-envvarkey description: REST surface for services-serviceId-env-vars-envVarKey. operations: - method: GET name: retrieveenvvar description: Retrieve environment variable call: render-services.retrieveenvvar outputParameters: - type: object mapping: $. - method: PUT name: updateenvvar description: Add or update environment variable call: render-services.updateenvvar with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteenvvar description: Delete environment variable call: render-services.deleteenvvar outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/events name: services-serviceid-events description: REST surface for services-serviceId-events. operations: - method: GET name: listevents description: List events call: render-services.listevents outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/instances name: services-serviceid-instances description: REST surface for services-serviceId-instances. operations: - method: GET name: listinstances description: List instances call: render-services.listinstances outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/preview name: services-serviceid-preview description: REST surface for services-serviceId-preview. operations: - method: POST name: previewservice description: Create service preview (image-backed) call: render-services.previewservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/restart name: services-serviceid-restart description: REST surface for services-serviceId-restart. operations: - method: POST name: restartservice description: Restart service call: render-services.restartservice outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/resume name: services-serviceid-resume description: REST surface for services-serviceId-resume. operations: - method: POST name: resumeservice description: Resume service call: render-services.resumeservice outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/scale name: services-serviceid-scale description: REST surface for services-serviceId-scale. operations: - method: POST name: scaleservice description: Scale instance count call: render-services.scaleservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/secret-files name: services-serviceid-secret-files description: REST surface for services-serviceId-secret-files. operations: - method: GET name: listsecretfilesforservice description: List secret files call: render-services.listsecretfilesforservice outputParameters: - type: object mapping: $. - method: PUT name: updatesecretfilesforservice description: Update secret files call: render-services.updatesecretfilesforservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/secret-files/{secretfilename} name: services-serviceid-secret-files-secretfilename description: REST surface for services-serviceId-secret-files-secretFileName. operations: - method: GET name: retrievesecretfile description: Retrieve secret file call: render-services.retrievesecretfile outputParameters: - type: object mapping: $. - method: PUT name: addorupdatesecretfile description: Add or update secret file call: render-services.addorupdatesecretfile with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesecretfile description: Delete secret file call: render-services.deletesecretfile outputParameters: - type: object mapping: $. - path: /v1/services/{serviceid}/suspend name: services-serviceid-suspend description: REST surface for services-serviceId-suspend. operations: - method: POST name: suspendservice description: Suspend service call: render-services.suspendservice outputParameters: - type: object mapping: $. - type: mcp namespace: render-services-mcp port: 9090 transport: http description: MCP adapter for Render Public API — Services. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-services description: List services hints: readOnly: true destructive: false idempotent: true call: render-services.listservices outputParameters: - type: object mapping: $. - name: create-service description: Create service hints: readOnly: false destructive: false idempotent: false call: render-services.createservice with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-service description: Retrieve service hints: readOnly: true destructive: false idempotent: true call: render-services.retrieveservice outputParameters: - type: object mapping: $. - name: update-service description: Update service hints: readOnly: false destructive: false idempotent: true call: render-services.updateservice with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-service description: Delete service hints: readOnly: false destructive: true idempotent: true call: render-services.deleteservice outputParameters: - type: object mapping: $. - name: update-autoscaling-config description: Update autoscaling config hints: readOnly: false destructive: false idempotent: true call: render-services.autoscaleservice with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-autoscaling-config description: Delete autoscaling config hints: readOnly: false destructive: true idempotent: true call: render-services.deleteautoscalingconfig outputParameters: - type: object mapping: $. - name: purge-web-service-cache description: Purge Web Service Cache hints: readOnly: false destructive: false idempotent: false call: render-services.purgecache with: body: tools.body outputParameters: - type: object mapping: $. - name: list-environment-variables description: List environment variables hints: readOnly: true destructive: false idempotent: true call: render-services.getenvvarsforservice outputParameters: - type: object mapping: $. - name: update-environment-variables description: Update environment variables hints: readOnly: false destructive: false idempotent: true call: render-services.updateenvvarsforservice with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-environment-variable description: Retrieve environment variable hints: readOnly: true destructive: false idempotent: true call: render-services.retrieveenvvar outputParameters: - type: object mapping: $. - name: add-update-environment-variable description: Add or update environment variable hints: readOnly: false destructive: false idempotent: true call: render-services.updateenvvar with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-environment-variable description: Delete environment variable hints: readOnly: false destructive: true idempotent: true call: render-services.deleteenvvar outputParameters: - type: object mapping: $. - name: list-events description: List events hints: readOnly: true destructive: false idempotent: true call: render-services.listevents outputParameters: - type: object mapping: $. - name: list-instances description: List instances hints: readOnly: true destructive: false idempotent: true call: render-services.listinstances outputParameters: - type: object mapping: $. - name: create-service-preview-image-backed description: Create service preview (image-backed) hints: readOnly: false destructive: false idempotent: false call: render-services.previewservice with: body: tools.body outputParameters: - type: object mapping: $. - name: restart-service description: Restart service hints: readOnly: false destructive: false idempotent: false call: render-services.restartservice outputParameters: - type: object mapping: $. - name: resume-service description: Resume service hints: readOnly: false destructive: false idempotent: false call: render-services.resumeservice outputParameters: - type: object mapping: $. - name: scale-instance-count description: Scale instance count hints: readOnly: false destructive: false idempotent: false call: render-services.scaleservice with: body: tools.body outputParameters: - type: object mapping: $. - name: list-secret-files description: List secret files hints: readOnly: true destructive: false idempotent: true call: render-services.listsecretfilesforservice outputParameters: - type: object mapping: $. - name: update-secret-files description: Update secret files hints: readOnly: false destructive: false idempotent: true call: render-services.updatesecretfilesforservice with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-secret-file description: Retrieve secret file hints: readOnly: true destructive: false idempotent: true call: render-services.retrievesecretfile outputParameters: - type: object mapping: $. - name: add-update-secret-file description: Add or update secret file hints: readOnly: false destructive: false idempotent: true call: render-services.addorupdatesecretfile with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-secret-file description: Delete secret file hints: readOnly: false destructive: true idempotent: true call: render-services.deletesecretfile outputParameters: - type: object mapping: $. - name: suspend-service description: Suspend service hints: readOnly: false destructive: false idempotent: false call: render-services.suspendservice outputParameters: - type: object mapping: $.