naftiko: 1.0.0-alpha2 info: label: Twilio SendGrid Legacy Marketing Campaigns Contacts API — Recipients description: 'Twilio SendGrid Legacy Marketing Campaigns Contacts API — Recipients. 15 operations. Lead operation: Export Recipients. Self-contained Naftiko capability covering one Sendgrid business surface.' tags: - Sendgrid - Recipients created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SENDGRID_API_KEY: SENDGRID_API_KEY capability: consumes: - type: http namespace: tsg_lmc_contactdb_v3-recipients baseUri: https://api.sendgrid.com description: Twilio SendGrid Legacy Marketing Campaigns Contacts API — Recipients business capability. Self-contained, no shared references. resources: - name: v3-contactdb-exports path: /v3/contactdb/exports operations: - name: exportrecipient method: POST description: Export Recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listexportrecipient method: GET description: Get All Existing Exports outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-contactdb-exports-id path: /v3/contactdb/exports/{id} operations: - name: getexportrecipient method: GET description: Export Recipients Status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-contactdb-recipients path: /v3/contactdb/recipients operations: - name: addrecipient method: POST description: Add recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: updaterecipient method: PATCH description: Update Recipient outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deleterecipients method: DELETE description: Delete Recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listrecipient method: GET description: Retrieve recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer description: Page index of first recipients to return (must be a positive integer) - name: page_size in: query type: integer description: Number of recipients to return at a time (must be a positive integer between 1 and 1000) - name: v3-contactdb-recipients-billable_count path: /v3/contactdb/recipients/billable_count operations: - name: getbillable method: GET description: Retrieve the count of billable recipients outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-contactdb-recipients-count path: /v3/contactdb/recipients/count operations: - name: listrecipientcount method: GET description: Retrieve a Count of Recipients outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-contactdb-recipients-search path: /v3/contactdb/recipients/search operations: - name: listsearchrecipient method: GET description: Search recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: '{field_name}' in: query type: string - name: searchrecipient method: POST description: Search recipients outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v3-contactdb-recipients-recipient_id path: /v3/contactdb/recipients/{recipient_id} operations: - name: getrecipient method: GET description: Retrieve a single recipient outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleterecipient method: DELETE description: Delete a Recipient outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-contactdb-recipients-recipient_id-lists path: /v3/contactdb/recipients/{recipient_id}/lists operations: - name: getrecipientlist method: GET description: Retrieve the lists that a recipient is on outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-contactdb-status path: /v3/contactdb/status operations: - name: liststatus method: GET description: Get Recipient Upload Status outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.SENDGRID_API_KEY}}' exposes: - type: rest namespace: tsg_lmc_contactdb_v3-recipients-rest port: 8080 description: REST adapter for Twilio SendGrid Legacy Marketing Campaigns Contacts API — Recipients. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v3/contactdb/exports name: v3-contactdb-exports description: REST surface for v3-contactdb-exports. operations: - method: POST name: exportrecipient description: Export Recipients call: tsg_lmc_contactdb_v3-recipients.exportrecipient with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listexportrecipient description: Get All Existing Exports call: tsg_lmc_contactdb_v3-recipients.listexportrecipient outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/exports/{id} name: v3-contactdb-exports-id description: REST surface for v3-contactdb-exports-id. operations: - method: GET name: getexportrecipient description: Export Recipients Status call: tsg_lmc_contactdb_v3-recipients.getexportrecipient outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/recipients name: v3-contactdb-recipients description: REST surface for v3-contactdb-recipients. operations: - method: POST name: addrecipient description: Add recipients call: tsg_lmc_contactdb_v3-recipients.addrecipient with: body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: updaterecipient description: Update Recipient call: tsg_lmc_contactdb_v3-recipients.updaterecipient with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleterecipients description: Delete Recipients call: tsg_lmc_contactdb_v3-recipients.deleterecipients with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listrecipient description: Retrieve recipients call: tsg_lmc_contactdb_v3-recipients.listrecipient with: page: rest.page page_size: rest.page_size outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/recipients/billable-count name: v3-contactdb-recipients-billable-count description: REST surface for v3-contactdb-recipients-billable_count. operations: - method: GET name: getbillable description: Retrieve the count of billable recipients call: tsg_lmc_contactdb_v3-recipients.getbillable outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/recipients/count name: v3-contactdb-recipients-count description: REST surface for v3-contactdb-recipients-count. operations: - method: GET name: listrecipientcount description: Retrieve a Count of Recipients call: tsg_lmc_contactdb_v3-recipients.listrecipientcount outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/recipients/search name: v3-contactdb-recipients-search description: REST surface for v3-contactdb-recipients-search. operations: - method: GET name: listsearchrecipient description: Search recipients call: tsg_lmc_contactdb_v3-recipients.listsearchrecipient with: '{field_name}': rest.{field_name} outputParameters: - type: object mapping: $. - method: POST name: searchrecipient description: Search recipients call: tsg_lmc_contactdb_v3-recipients.searchrecipient with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/recipients/{recipient-id} name: v3-contactdb-recipients-recipient-id description: REST surface for v3-contactdb-recipients-recipient_id. operations: - method: GET name: getrecipient description: Retrieve a single recipient call: tsg_lmc_contactdb_v3-recipients.getrecipient outputParameters: - type: object mapping: $. - method: DELETE name: deleterecipient description: Delete a Recipient call: tsg_lmc_contactdb_v3-recipients.deleterecipient outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/recipients/{recipient-id}/lists name: v3-contactdb-recipients-recipient-id-lists description: REST surface for v3-contactdb-recipients-recipient_id-lists. operations: - method: GET name: getrecipientlist description: Retrieve the lists that a recipient is on call: tsg_lmc_contactdb_v3-recipients.getrecipientlist outputParameters: - type: object mapping: $. - path: /v1/v3/contactdb/status name: v3-contactdb-status description: REST surface for v3-contactdb-status. operations: - method: GET name: liststatus description: Get Recipient Upload Status call: tsg_lmc_contactdb_v3-recipients.liststatus outputParameters: - type: object mapping: $. - type: mcp namespace: tsg_lmc_contactdb_v3-recipients-mcp port: 9090 transport: http description: MCP adapter for Twilio SendGrid Legacy Marketing Campaigns Contacts API — Recipients. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: export-recipients description: Export Recipients hints: readOnly: false destructive: false idempotent: false call: tsg_lmc_contactdb_v3-recipients.exportrecipient with: body: tools.body outputParameters: - type: object mapping: $. - name: get-all-existing-exports description: Get All Existing Exports hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.listexportrecipient outputParameters: - type: object mapping: $. - name: export-recipients-status description: Export Recipients Status hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.getexportrecipient outputParameters: - type: object mapping: $. - name: add-recipients description: Add recipients hints: readOnly: false destructive: false idempotent: false call: tsg_lmc_contactdb_v3-recipients.addrecipient with: body: tools.body outputParameters: - type: object mapping: $. - name: update-recipient description: Update Recipient hints: readOnly: false destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.updaterecipient with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-recipients description: Delete Recipients hints: readOnly: false destructive: true idempotent: true call: tsg_lmc_contactdb_v3-recipients.deleterecipients with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-recipients description: Retrieve recipients hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.listrecipient with: page: tools.page page_size: tools.page_size outputParameters: - type: object mapping: $. - name: retrieve-count-billable-recipients description: Retrieve the count of billable recipients hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.getbillable outputParameters: - type: object mapping: $. - name: retrieve-count-recipients description: Retrieve a Count of Recipients hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.listrecipientcount outputParameters: - type: object mapping: $. - name: search-recipients description: Search recipients hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.listsearchrecipient with: '{field_name}': tools.{field_name} outputParameters: - type: object mapping: $. - name: search-recipients-2 description: Search recipients hints: readOnly: true destructive: false idempotent: false call: tsg_lmc_contactdb_v3-recipients.searchrecipient with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-single-recipient description: Retrieve a single recipient hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.getrecipient outputParameters: - type: object mapping: $. - name: delete-recipient description: Delete a Recipient hints: readOnly: false destructive: true idempotent: true call: tsg_lmc_contactdb_v3-recipients.deleterecipient outputParameters: - type: object mapping: $. - name: retrieve-lists-that-recipient-is description: Retrieve the lists that a recipient is on hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.getrecipientlist outputParameters: - type: object mapping: $. - name: get-recipient-upload-status description: Get Recipient Upload Status hints: readOnly: true destructive: false idempotent: true call: tsg_lmc_contactdb_v3-recipients.liststatus outputParameters: - type: object mapping: $.