naftiko: 1.0.0-alpha2 info: label: Oracle Eloqua REST API — Contacts description: 'Oracle Eloqua REST API — Contacts. 5 operations. Lead operation: Oracle Eloqua Retrieve a contact. Self-contained Naftiko capability covering one Eloqua business surface.' tags: - Eloqua - Contacts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ELOQUA_API_KEY: ELOQUA_API_KEY capability: consumes: - type: http namespace: rest-contacts baseUri: https://secure.p01.eloqua.com/API/REST/2.0 description: Oracle Eloqua REST API — Contacts business capability. Self-contained, no shared references. resources: - name: data-contact-id path: /data/contact/{id} operations: - name: getcontact method: GET description: Oracle Eloqua Retrieve a contact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: viewId in: query type: string description: The contact view identifier to use - name: updatecontact method: PUT description: Oracle Eloqua Update a contact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletecontact method: DELETE description: Oracle Eloqua Delete a contact outputRawFormat: json outputParameters: - name: result type: object value: $. - name: data-contact-id-membership path: /data/contact/{id}/membership operations: - name: getcontactlistmembership method: GET description: Oracle Eloqua Get contact list membership outputRawFormat: json outputParameters: - name: result type: object value: $. - name: data-contacts path: /data/contacts operations: - name: searchcontacts method: POST description: Oracle Eloqua Search contacts outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.ELOQUA_API_KEY}}' exposes: - type: rest namespace: rest-contacts-rest port: 8080 description: REST adapter for Oracle Eloqua REST API — Contacts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/data/contact/{id} name: data-contact-id description: REST surface for data-contact-id. operations: - method: GET name: getcontact description: Oracle Eloqua Retrieve a contact call: rest-contacts.getcontact with: viewId: rest.viewId outputParameters: - type: object mapping: $. - method: PUT name: updatecontact description: Oracle Eloqua Update a contact call: rest-contacts.updatecontact with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecontact description: Oracle Eloqua Delete a contact call: rest-contacts.deletecontact outputParameters: - type: object mapping: $. - path: /v1/data/contact/{id}/membership name: data-contact-id-membership description: REST surface for data-contact-id-membership. operations: - method: GET name: getcontactlistmembership description: Oracle Eloqua Get contact list membership call: rest-contacts.getcontactlistmembership outputParameters: - type: object mapping: $. - path: /v1/data/contacts name: data-contacts description: REST surface for data-contacts. operations: - method: POST name: searchcontacts description: Oracle Eloqua Search contacts call: rest-contacts.searchcontacts outputParameters: - type: object mapping: $. - type: mcp namespace: rest-contacts-mcp port: 9090 transport: http description: MCP adapter for Oracle Eloqua REST API — Contacts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: oracle-eloqua-retrieve-contact description: Oracle Eloqua Retrieve a contact hints: readOnly: true destructive: false idempotent: true call: rest-contacts.getcontact with: viewId: tools.viewId outputParameters: - type: object mapping: $. - name: oracle-eloqua-update-contact description: Oracle Eloqua Update a contact hints: readOnly: false destructive: false idempotent: true call: rest-contacts.updatecontact with: body: tools.body outputParameters: - type: object mapping: $. - name: oracle-eloqua-delete-contact description: Oracle Eloqua Delete a contact hints: readOnly: false destructive: true idempotent: true call: rest-contacts.deletecontact outputParameters: - type: object mapping: $. - name: oracle-eloqua-get-contact-list description: Oracle Eloqua Get contact list membership hints: readOnly: true destructive: false idempotent: true call: rest-contacts.getcontactlistmembership outputParameters: - type: object mapping: $. - name: oracle-eloqua-search-contacts description: Oracle Eloqua Search contacts hints: readOnly: true destructive: false idempotent: false call: rest-contacts.searchcontacts outputParameters: - type: object mapping: $.