naftiko: 1.0.0-alpha2 info: label: Oracle Eloqua REST API — Programs description: 'Oracle Eloqua REST API — Programs. 8 operations. Lead operation: Oracle Eloqua Create a program. Self-contained Naftiko capability covering one Eloqua business surface.' tags: - Eloqua - Programs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ELOQUA_API_KEY: ELOQUA_API_KEY capability: consumes: - type: http namespace: rest-programs baseUri: https://secure.p01.eloqua.com/API/REST/2.0 description: Oracle Eloqua REST API — Programs business capability. Self-contained, no shared references. resources: - name: assets-program path: /assets/program operations: - name: createprogram method: POST description: Oracle Eloqua Create a program outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: assets-program-active-id path: /assets/program/active/{id} operations: - name: activateprogram method: POST description: Oracle Eloqua Activate a program outputRawFormat: json outputParameters: - name: result type: object value: $. - name: assets-program-draft-id path: /assets/program/draft/{id} operations: - name: deactivateprogram method: POST description: Oracle Eloqua Deactivate a program outputRawFormat: json outputParameters: - name: result type: object value: $. - name: assets-program-pause-id path: /assets/program/pause/{id} operations: - name: pauseprogram method: POST description: Oracle Eloqua Pause a program outputRawFormat: json outputParameters: - name: result type: object value: $. - name: assets-program-id path: /assets/program/{id} operations: - name: getprogram method: GET description: Oracle Eloqua Retrieve a program outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateprogram method: PUT description: Oracle Eloqua Update a program outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteprogram method: DELETE description: Oracle Eloqua Delete a program outputRawFormat: json outputParameters: - name: result type: object value: $. - name: assets-programs path: /assets/programs operations: - name: listprograms method: GET description: Oracle Eloqua List programs outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.ELOQUA_API_KEY}}' exposes: - type: rest namespace: rest-programs-rest port: 8080 description: REST adapter for Oracle Eloqua REST API — Programs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/assets/program name: assets-program description: REST surface for assets-program. operations: - method: POST name: createprogram description: Oracle Eloqua Create a program call: rest-programs.createprogram with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/assets/program/active/{id} name: assets-program-active-id description: REST surface for assets-program-active-id. operations: - method: POST name: activateprogram description: Oracle Eloqua Activate a program call: rest-programs.activateprogram outputParameters: - type: object mapping: $. - path: /v1/assets/program/draft/{id} name: assets-program-draft-id description: REST surface for assets-program-draft-id. operations: - method: POST name: deactivateprogram description: Oracle Eloqua Deactivate a program call: rest-programs.deactivateprogram outputParameters: - type: object mapping: $. - path: /v1/assets/program/pause/{id} name: assets-program-pause-id description: REST surface for assets-program-pause-id. operations: - method: POST name: pauseprogram description: Oracle Eloqua Pause a program call: rest-programs.pauseprogram outputParameters: - type: object mapping: $. - path: /v1/assets/program/{id} name: assets-program-id description: REST surface for assets-program-id. operations: - method: GET name: getprogram description: Oracle Eloqua Retrieve a program call: rest-programs.getprogram outputParameters: - type: object mapping: $. - method: PUT name: updateprogram description: Oracle Eloqua Update a program call: rest-programs.updateprogram with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteprogram description: Oracle Eloqua Delete a program call: rest-programs.deleteprogram outputParameters: - type: object mapping: $. - path: /v1/assets/programs name: assets-programs description: REST surface for assets-programs. operations: - method: GET name: listprograms description: Oracle Eloqua List programs call: rest-programs.listprograms outputParameters: - type: object mapping: $. - type: mcp namespace: rest-programs-mcp port: 9090 transport: http description: MCP adapter for Oracle Eloqua REST API — Programs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: oracle-eloqua-create-program description: Oracle Eloqua Create a program hints: readOnly: false destructive: false idempotent: false call: rest-programs.createprogram with: body: tools.body outputParameters: - type: object mapping: $. - name: oracle-eloqua-activate-program description: Oracle Eloqua Activate a program hints: readOnly: false destructive: false idempotent: false call: rest-programs.activateprogram outputParameters: - type: object mapping: $. - name: oracle-eloqua-deactivate-program description: Oracle Eloqua Deactivate a program hints: readOnly: false destructive: false idempotent: false call: rest-programs.deactivateprogram outputParameters: - type: object mapping: $. - name: oracle-eloqua-pause-program description: Oracle Eloqua Pause a program hints: readOnly: false destructive: false idempotent: false call: rest-programs.pauseprogram outputParameters: - type: object mapping: $. - name: oracle-eloqua-retrieve-program description: Oracle Eloqua Retrieve a program hints: readOnly: true destructive: false idempotent: true call: rest-programs.getprogram outputParameters: - type: object mapping: $. - name: oracle-eloqua-update-program description: Oracle Eloqua Update a program hints: readOnly: false destructive: false idempotent: true call: rest-programs.updateprogram with: body: tools.body outputParameters: - type: object mapping: $. - name: oracle-eloqua-delete-program description: Oracle Eloqua Delete a program hints: readOnly: false destructive: true idempotent: true call: rest-programs.deleteprogram outputParameters: - type: object mapping: $. - name: oracle-eloqua-list-programs description: Oracle Eloqua List programs hints: readOnly: true destructive: false idempotent: true call: rest-programs.listprograms outputParameters: - type: object mapping: $.