naftiko: 1.0.0-alpha2 info: label: Dokploy API — postgres description: 'Dokploy API — postgres. 16 operations. Lead operation: postgres.create. Self-contained Naftiko capability covering one Dokploy business surface.' tags: - Dokploy - postgres created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: DOKPLOY_API_KEY: DOKPLOY_API_KEY DOKPLOY_URL: DOKPLOY_URL capability: consumes: - type: http namespace: dokploy-postgres baseUri: ${DOKPLOY_URL}/api description: Dokploy API — postgres business capability. Self-contained, no shared references. resources: - name: create path: /postgres.create operations: - name: postgres-create method: POST description: postgres-create outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: one path: /postgres.one operations: - name: postgres-one method: GET description: postgres-one outputRawFormat: json outputParameters: - name: result type: object value: $. - name: start path: /postgres.start operations: - name: postgres-start method: POST description: postgres-start outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: stop path: /postgres.stop operations: - name: postgres-stop method: POST description: postgres-stop outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: saveExternalPort path: /postgres.saveExternalPort operations: - name: postgres-saveExternalPort method: POST description: postgres-saveExternalPort outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: deploy path: /postgres.deploy operations: - name: postgres-deploy method: POST description: postgres-deploy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: changeStatus path: /postgres.changeStatus operations: - name: postgres-changeStatus method: POST description: postgres-changeStatus outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: remove path: /postgres.remove operations: - name: postgres-remove method: POST description: postgres-remove outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: saveEnvironment path: /postgres.saveEnvironment operations: - name: postgres-saveEnvironment method: POST description: postgres-saveEnvironment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: reload path: /postgres.reload operations: - name: postgres-reload method: POST description: postgres-reload outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: update path: /postgres.update operations: - name: postgres-update method: POST description: postgres-update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: changePassword path: /postgres.changePassword operations: - name: postgres-changePassword method: POST description: postgres-changePassword outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: move path: /postgres.move operations: - name: postgres-move method: POST description: postgres-move outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: rebuild path: /postgres.rebuild operations: - name: postgres-rebuild method: POST description: postgres-rebuild outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body required: true - name: search path: /postgres.search operations: - name: postgres-search method: GET description: postgres-search outputRawFormat: json outputParameters: - name: result type: object value: $. - name: readLogs path: /postgres.readLogs operations: - name: postgres-readLogs method: GET description: postgres-readLogs outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: dokploy-postgres-rest port: 8080 description: REST adapter for Dokploy API — postgres. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/postgres.create name: create description: REST surface for create. operations: - method: POST name: postgres-create description: postgres-create call: dokploy-postgres.postgres-create with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.one name: one description: REST surface for one. operations: - method: GET name: postgres-one description: postgres-one call: dokploy-postgres.postgres-one outputParameters: - type: object mapping: $. - path: /v1/postgres.start name: start description: REST surface for start. operations: - method: POST name: postgres-start description: postgres-start call: dokploy-postgres.postgres-start with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.stop name: stop description: REST surface for stop. operations: - method: POST name: postgres-stop description: postgres-stop call: dokploy-postgres.postgres-stop with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.saveExternalPort name: saveExternalPort description: REST surface for saveExternalPort. operations: - method: POST name: postgres-saveExternalPort description: postgres-saveExternalPort call: dokploy-postgres.postgres-saveExternalPort with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.deploy name: deploy description: REST surface for deploy. operations: - method: POST name: postgres-deploy description: postgres-deploy call: dokploy-postgres.postgres-deploy with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.changeStatus name: changeStatus description: REST surface for changeStatus. operations: - method: POST name: postgres-changeStatus description: postgres-changeStatus call: dokploy-postgres.postgres-changeStatus with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.remove name: remove description: REST surface for remove. operations: - method: POST name: postgres-remove description: postgres-remove call: dokploy-postgres.postgres-remove with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.saveEnvironment name: saveEnvironment description: REST surface for saveEnvironment. operations: - method: POST name: postgres-saveEnvironment description: postgres-saveEnvironment call: dokploy-postgres.postgres-saveEnvironment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.reload name: reload description: REST surface for reload. operations: - method: POST name: postgres-reload description: postgres-reload call: dokploy-postgres.postgres-reload with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.update name: update description: REST surface for update. operations: - method: POST name: postgres-update description: postgres-update call: dokploy-postgres.postgres-update with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.changePassword name: changePassword description: REST surface for changePassword. operations: - method: POST name: postgres-changePassword description: postgres-changePassword call: dokploy-postgres.postgres-changePassword with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.move name: move description: REST surface for move. operations: - method: POST name: postgres-move description: postgres-move call: dokploy-postgres.postgres-move with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.rebuild name: rebuild description: REST surface for rebuild. operations: - method: POST name: postgres-rebuild description: postgres-rebuild call: dokploy-postgres.postgres-rebuild with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/postgres.search name: search description: REST surface for search. operations: - method: GET name: postgres-search description: postgres-search call: dokploy-postgres.postgres-search outputParameters: - type: object mapping: $. - path: /v1/postgres.readLogs name: readLogs description: REST surface for readLogs. operations: - method: GET name: postgres-readLogs description: postgres-readLogs call: dokploy-postgres.postgres-readLogs outputParameters: - type: object mapping: $. - type: mcp namespace: dokploy-postgres-mcp port: 9090 transport: http description: MCP adapter for Dokploy API — postgres. One tool per consumed operation, routed inline through this capability’s consumes block. tools: - name: postgres-create description: postgres-create hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-create with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-one description: postgres-one hints: readOnly: true destructive: false idempotent: true call: dokploy-postgres.postgres-one outputParameters: - type: object mapping: $. - name: postgres-start description: postgres-start hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-start with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-stop description: postgres-stop hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-stop with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-saveExternalPort description: postgres-saveExternalPort hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-saveExternalPort with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-deploy description: postgres-deploy hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-deploy with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-changeStatus description: postgres-changeStatus hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-changeStatus with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-remove description: postgres-remove hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-remove with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-saveEnvironment description: postgres-saveEnvironment hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-saveEnvironment with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-reload description: postgres-reload hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-reload with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-update description: postgres-update hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-update with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-changePassword description: postgres-changePassword hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-changePassword with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-move description: postgres-move hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-move with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-rebuild description: postgres-rebuild hints: readOnly: false destructive: false idempotent: false call: dokploy-postgres.postgres-rebuild with: body: tools.body outputParameters: - type: object mapping: $. - name: postgres-search description: postgres-search hints: readOnly: true destructive: false idempotent: true call: dokploy-postgres.postgres-search outputParameters: - type: object mapping: $. - name: postgres-readLogs description: postgres-readLogs hints: readOnly: true destructive: false idempotent: true call: dokploy-postgres.postgres-readLogs outputParameters: - type: object mapping: $.