naftiko: 1.0.0-alpha2 info: label: AppConnect V3 — Segments description: 'AppConnect V3 — Segments. 6 operations. Lead operation: GET all Segments. Self-contained Naftiko capability covering one Constant Contact business surface.' tags: - Constant Contact - Segments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CONSTANT_CONTACT_API_KEY: CONSTANT_CONTACT_API_KEY capability: consumes: - type: http namespace: v3-segments baseUri: https://api.cc.email/v3 description: AppConnect V3 — Segments business capability. Self-contained, no shared references. resources: - name: segments path: /segments operations: - name: getaccountsegments method: GET description: GET all Segments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: string description: The number of segments to return on a page. - name: sort_by in: query type: string description: Specify the segment sort order to use. Sort by name (`sort_by=name`) in ascending order, or sort by date (`sort_by=date`) in descending order with the most rece - name: createsegment method: POST description: POST (create) a Segment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: The segment `name` and `segment_criteria` (requires single-string escaped JSON). required: true - name: segments-segment_id path: /segments/{segment_id} operations: - name: getsegmentdetail method: GET description: GET a Segment's Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: segment_id in: path type: integer description: The system-generated unique ID that identifies a segment. required: true - name: updatesegment method: PUT description: PUT (update) a Segment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: segment_id in: path type: integer description: The system generated ID that uniquely identifies the segment that you want to modify. required: true - name: body in: body type: string description: Include both the `name` and `segment_criteria` (single-string escaped JSON) in the body request, then make updates to either or both. required: true - name: deletesegment method: DELETE description: DELETE a Segment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: segment_id in: path type: integer description: The system generated ID that uniquely identifies the segment. required: true - name: segments-segment_id-name path: /segments/{segment_id}/name operations: - name: updatesegmentname method: PATCH description: PATCH (rename) a Segment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: segment_id in: path type: integer description: The system generated ID that uniquely identifies the segment that you want to modify. required: true - name: body in: body type: string description: Include the existing segment `name` in the body request, then rename the segment using a unique new name. required: true exposes: - type: rest namespace: v3-segments-rest port: 8080 description: REST adapter for AppConnect V3 — Segments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/segments name: segments description: REST surface for segments. operations: - method: GET name: getaccountsegments description: GET all Segments call: v3-segments.getaccountsegments with: limit: rest.limit sort_by: rest.sort_by outputParameters: - type: object mapping: $. - method: POST name: createsegment description: POST (create) a Segment call: v3-segments.createsegment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/segments/{segment-id} name: segments-segment-id description: REST surface for segments-segment_id. operations: - method: GET name: getsegmentdetail description: GET a Segment's Details call: v3-segments.getsegmentdetail with: segment_id: rest.segment_id outputParameters: - type: object mapping: $. - method: PUT name: updatesegment description: PUT (update) a Segment call: v3-segments.updatesegment with: segment_id: rest.segment_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesegment description: DELETE a Segment call: v3-segments.deletesegment with: segment_id: rest.segment_id outputParameters: - type: object mapping: $. - path: /v1/segments/{segment-id}/name name: segments-segment-id-name description: REST surface for segments-segment_id-name. operations: - method: PATCH name: updatesegmentname description: PATCH (rename) a Segment call: v3-segments.updatesegmentname with: segment_id: rest.segment_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: v3-segments-mcp port: 9090 transport: http description: MCP adapter for AppConnect V3 — Segments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-all-segments description: GET all Segments hints: readOnly: true destructive: false idempotent: true call: v3-segments.getaccountsegments with: limit: tools.limit sort_by: tools.sort_by outputParameters: - type: object mapping: $. - name: post-create-segment description: POST (create) a Segment hints: readOnly: false destructive: false idempotent: false call: v3-segments.createsegment with: body: tools.body outputParameters: - type: object mapping: $. - name: get-segment-s-details description: GET a Segment's Details hints: readOnly: true destructive: false idempotent: true call: v3-segments.getsegmentdetail with: segment_id: tools.segment_id outputParameters: - type: object mapping: $. - name: put-update-segment description: PUT (update) a Segment hints: readOnly: false destructive: false idempotent: true call: v3-segments.updatesegment with: segment_id: tools.segment_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-segment description: DELETE a Segment hints: readOnly: false destructive: true idempotent: true call: v3-segments.deletesegment with: segment_id: tools.segment_id outputParameters: - type: object mapping: $. - name: patch-rename-segment description: PATCH (rename) a Segment hints: readOnly: false destructive: false idempotent: true call: v3-segments.updatesegmentname with: segment_id: tools.segment_id body: tools.body outputParameters: - type: object mapping: $.