naftiko: 1.0.0-alpha2 info: label: Render Public API — Postgres description: 'Render Public API — Postgres. 17 operations. Lead operation: List Postgres instances. Self-contained Naftiko capability covering one Render business surface.' tags: - Render - Postgres created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RENDER_API_KEY: RENDER_API_KEY capability: consumes: - type: http namespace: render-postgres baseUri: https://api.render.com/v1 description: Render Public API — Postgres business capability. Self-contained, no shared references. resources: - name: postgres path: /postgres operations: - name: listpostgres method: GET description: List Postgres instances outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createpostgres method: POST description: Create Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: postgres-postgresId path: /postgres/{postgresId} operations: - name: retrievepostgres method: GET description: Retrieve Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postgresId in: path type: string required: true - name: updatepostgres method: PATCH description: Update Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postgresId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletepostgres method: DELETE description: Delete Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postgresId in: path type: string required: true - name: postgres-postgresId-connection-info path: /postgres/{postgresId}/connection-info operations: - name: retrievepostgresconnectioninfo method: GET description: Retrieve Postgres connection info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postgresId in: path type: string required: true - name: postgres-postgresId-credentials path: /postgres/{postgresId}/credentials operations: - name: listpostgresusers method: GET description: List PostgreSQL Users outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createpostgresuser method: POST description: Create PostgreSQL User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: postgres-postgresId-credentials-username path: /postgres/{postgresId}/credentials/{username} operations: - name: deletepostgresuser method: DELETE description: Delete PostgreSQL User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postgres-postgresId-export path: /postgres/{postgresId}/export operations: - name: listpostgresexport method: GET description: List Postgres exports outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createpostgresexport method: POST description: Create Postgres export outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postgres-postgresId-failover path: /postgres/{postgresId}/failover operations: - name: failoverpostgres method: POST description: Failover Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postgres-postgresId-recovery path: /postgres/{postgresId}/recovery operations: - name: retrievepostgresrecoveryinfo method: GET description: Retrieve point-in-time recovery status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postgresId in: path type: string required: true - name: recoverpostgres method: POST description: Trigger point-in-time recovery outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postgresId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: postgres-postgresId-restart path: /postgres/{postgresId}/restart operations: - name: restartpostgres method: POST description: Restart Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postgres-postgresId-resume path: /postgres/{postgresId}/resume operations: - name: resumepostgres method: POST description: Resume Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postgres-postgresId-suspend path: /postgres/{postgresId}/suspend operations: - name: suspendpostgres method: POST description: Suspend Postgres instance outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.RENDER_API_KEY}}' exposes: - type: rest namespace: render-postgres-rest port: 8080 description: REST adapter for Render Public API — Postgres. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/postgres name: postgres description: REST surface for postgres. operations: - method: GET name: listpostgres description: List Postgres instances call: render-postgres.listpostgres outputParameters: - type: object mapping: $. - method: POST name: createpostgres description: Create Postgres instance call: render-postgres.createpostgres with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid} name: postgres-postgresid description: REST surface for postgres-postgresId. operations: - method: GET name: retrievepostgres description: Retrieve Postgres instance call: render-postgres.retrievepostgres with: postgresId: rest.postgresId outputParameters: - type: object mapping: $. - method: PATCH name: updatepostgres description: Update Postgres instance call: render-postgres.updatepostgres with: postgresId: rest.postgresId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletepostgres description: Delete Postgres instance call: render-postgres.deletepostgres with: postgresId: rest.postgresId outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/connection-info name: postgres-postgresid-connection-info description: REST surface for postgres-postgresId-connection-info. operations: - method: GET name: retrievepostgresconnectioninfo description: Retrieve Postgres connection info call: render-postgres.retrievepostgresconnectioninfo with: postgresId: rest.postgresId outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/credentials name: postgres-postgresid-credentials description: REST surface for postgres-postgresId-credentials. operations: - method: GET name: listpostgresusers description: List PostgreSQL Users call: render-postgres.listpostgresusers outputParameters: - type: object mapping: $. - method: POST name: createpostgresuser description: Create PostgreSQL User call: render-postgres.createpostgresuser with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/credentials/{username} name: postgres-postgresid-credentials-username description: REST surface for postgres-postgresId-credentials-username. operations: - method: DELETE name: deletepostgresuser description: Delete PostgreSQL User call: render-postgres.deletepostgresuser outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/export name: postgres-postgresid-export description: REST surface for postgres-postgresId-export. operations: - method: GET name: listpostgresexport description: List Postgres exports call: render-postgres.listpostgresexport outputParameters: - type: object mapping: $. - method: POST name: createpostgresexport description: Create Postgres export call: render-postgres.createpostgresexport outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/failover name: postgres-postgresid-failover description: REST surface for postgres-postgresId-failover. operations: - method: POST name: failoverpostgres description: Failover Postgres instance call: render-postgres.failoverpostgres outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/recovery name: postgres-postgresid-recovery description: REST surface for postgres-postgresId-recovery. operations: - method: GET name: retrievepostgresrecoveryinfo description: Retrieve point-in-time recovery status call: render-postgres.retrievepostgresrecoveryinfo with: postgresId: rest.postgresId outputParameters: - type: object mapping: $. - method: POST name: recoverpostgres description: Trigger point-in-time recovery call: render-postgres.recoverpostgres with: postgresId: rest.postgresId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/restart name: postgres-postgresid-restart description: REST surface for postgres-postgresId-restart. operations: - method: POST name: restartpostgres description: Restart Postgres instance call: render-postgres.restartpostgres outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/resume name: postgres-postgresid-resume description: REST surface for postgres-postgresId-resume. operations: - method: POST name: resumepostgres description: Resume Postgres instance call: render-postgres.resumepostgres outputParameters: - type: object mapping: $. - path: /v1/postgres/{postgresid}/suspend name: postgres-postgresid-suspend description: REST surface for postgres-postgresId-suspend. operations: - method: POST name: suspendpostgres description: Suspend Postgres instance call: render-postgres.suspendpostgres outputParameters: - type: object mapping: $. - type: mcp namespace: render-postgres-mcp port: 9090 transport: http description: MCP adapter for Render Public API — Postgres. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-postgres-instances description: List Postgres instances hints: readOnly: true destructive: false idempotent: true call: render-postgres.listpostgres outputParameters: - type: object mapping: $. - name: create-postgres-instance description: Create Postgres instance hints: readOnly: false destructive: false idempotent: false call: render-postgres.createpostgres with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-postgres-instance description: Retrieve Postgres instance hints: readOnly: true destructive: false idempotent: true call: render-postgres.retrievepostgres with: postgresId: tools.postgresId outputParameters: - type: object mapping: $. - name: update-postgres-instance description: Update Postgres instance hints: readOnly: false destructive: false idempotent: true call: render-postgres.updatepostgres with: postgresId: tools.postgresId body: tools.body outputParameters: - type: object mapping: $. - name: delete-postgres-instance description: Delete Postgres instance hints: readOnly: false destructive: true idempotent: true call: render-postgres.deletepostgres with: postgresId: tools.postgresId outputParameters: - type: object mapping: $. - name: retrieve-postgres-connection-info description: Retrieve Postgres connection info hints: readOnly: true destructive: false idempotent: true call: render-postgres.retrievepostgresconnectioninfo with: postgresId: tools.postgresId outputParameters: - type: object mapping: $. - name: list-postgresql-users description: List PostgreSQL Users hints: readOnly: true destructive: false idempotent: true call: render-postgres.listpostgresusers outputParameters: - type: object mapping: $. - name: create-postgresql-user description: Create PostgreSQL User hints: readOnly: false destructive: false idempotent: false call: render-postgres.createpostgresuser with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-postgresql-user description: Delete PostgreSQL User hints: readOnly: false destructive: true idempotent: true call: render-postgres.deletepostgresuser outputParameters: - type: object mapping: $. - name: list-postgres-exports description: List Postgres exports hints: readOnly: true destructive: false idempotent: true call: render-postgres.listpostgresexport outputParameters: - type: object mapping: $. - name: create-postgres-export description: Create Postgres export hints: readOnly: false destructive: false idempotent: false call: render-postgres.createpostgresexport outputParameters: - type: object mapping: $. - name: failover-postgres-instance description: Failover Postgres instance hints: readOnly: false destructive: false idempotent: false call: render-postgres.failoverpostgres outputParameters: - type: object mapping: $. - name: retrieve-point-time-recovery-status description: Retrieve point-in-time recovery status hints: readOnly: true destructive: false idempotent: true call: render-postgres.retrievepostgresrecoveryinfo with: postgresId: tools.postgresId outputParameters: - type: object mapping: $. - name: trigger-point-time-recovery description: Trigger point-in-time recovery hints: readOnly: false destructive: false idempotent: false call: render-postgres.recoverpostgres with: postgresId: tools.postgresId body: tools.body outputParameters: - type: object mapping: $. - name: restart-postgres-instance description: Restart Postgres instance hints: readOnly: false destructive: false idempotent: false call: render-postgres.restartpostgres outputParameters: - type: object mapping: $. - name: resume-postgres-instance description: Resume Postgres instance hints: readOnly: false destructive: false idempotent: false call: render-postgres.resumepostgres outputParameters: - type: object mapping: $. - name: suspend-postgres-instance description: Suspend Postgres instance hints: readOnly: false destructive: false idempotent: false call: render-postgres.suspendpostgres outputParameters: - type: object mapping: $.