naftiko: 1.0.0-alpha2 info: label: Core V2 API — Matchlists description: 'Core V2 API — Matchlists. 8 operations. Lead operation: Retrieve a list of matchlist details. Self-contained Naftiko capability covering one Frankieone business surface.' tags: - Frankieone - Matchlists created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FRANKIEONE_API_KEY: FRANKIEONE_API_KEY capability: consumes: - type: http namespace: core-v2-matchlists baseUri: https://api.uat.frankie.one description: Core V2 API — Matchlists business capability. Self-contained, no shared references. resources: - name: v2-matchlists path: /v2/matchlists operations: - name: getmatchlist method: GET description: Retrieve a list of matchlist details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-matchlists-matchlistName-entries path: /v2/matchlists/{matchlistName}/entries operations: - name: creatematchlistentry method: POST description: Create one or more entries in a matchlist outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: getmatchlistentries method: GET description: Get a list of matchlist entries outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-matchlists-matchlistName-entries-addEntity path: /v2/matchlists/{matchlistName}/entries/addEntity operations: - name: addmatchlistentity method: POST description: Add an individual entity to a matchlist outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v2-matchlists-matchlistName-entries-removeEntity path: /v2/matchlists/{matchlistName}/entries/removeEntity operations: - name: removematchlistentity method: PATCH description: Remove an individual entity matchlist outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v2-matchlists-matchlistName-entries-entryId path: /v2/matchlists/{matchlistName}/entries/{entryId} operations: - name: updatematchlistentry method: PATCH description: Modify a matchlist entry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: getmatchlistentry method: GET description: Retrieve a matchlist entry outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-search-matchlists path: /v2/search/matchlists operations: - name: searchmatchlists method: POST description: Search for matchlist entries outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.FRANKIEONE_API_KEY}}' exposes: - type: rest namespace: core-v2-matchlists-rest port: 8080 description: REST adapter for Core V2 API — Matchlists. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/matchlists name: v2-matchlists description: REST surface for v2-matchlists. operations: - method: GET name: getmatchlist description: Retrieve a list of matchlist details call: core-v2-matchlists.getmatchlist outputParameters: - type: object mapping: $. - path: /v1/v2/matchlists/{matchlistname}/entries name: v2-matchlists-matchlistname-entries description: REST surface for v2-matchlists-matchlistName-entries. operations: - method: POST name: creatematchlistentry description: Create one or more entries in a matchlist call: core-v2-matchlists.creatematchlistentry with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getmatchlistentries description: Get a list of matchlist entries call: core-v2-matchlists.getmatchlistentries outputParameters: - type: object mapping: $. - path: /v1/v2/matchlists/{matchlistname}/entries/addentity name: v2-matchlists-matchlistname-entries-addentity description: REST surface for v2-matchlists-matchlistName-entries-addEntity. operations: - method: POST name: addmatchlistentity description: Add an individual entity to a matchlist call: core-v2-matchlists.addmatchlistentity with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/matchlists/{matchlistname}/entries/removeentity name: v2-matchlists-matchlistname-entries-removeentity description: REST surface for v2-matchlists-matchlistName-entries-removeEntity. operations: - method: PATCH name: removematchlistentity description: Remove an individual entity matchlist call: core-v2-matchlists.removematchlistentity with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/matchlists/{matchlistname}/entries/{entryid} name: v2-matchlists-matchlistname-entries-entryid description: REST surface for v2-matchlists-matchlistName-entries-entryId. operations: - method: PATCH name: updatematchlistentry description: Modify a matchlist entry call: core-v2-matchlists.updatematchlistentry with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getmatchlistentry description: Retrieve a matchlist entry call: core-v2-matchlists.getmatchlistentry outputParameters: - type: object mapping: $. - path: /v1/v2/search/matchlists name: v2-search-matchlists description: REST surface for v2-search-matchlists. operations: - method: POST name: searchmatchlists description: Search for matchlist entries call: core-v2-matchlists.searchmatchlists with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: core-v2-matchlists-mcp port: 9090 transport: http description: MCP adapter for Core V2 API — Matchlists. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: retrieve-list-matchlist-details description: Retrieve a list of matchlist details hints: readOnly: true destructive: false idempotent: true call: core-v2-matchlists.getmatchlist outputParameters: - type: object mapping: $. - name: create-one-more-entries-matchlist description: Create one or more entries in a matchlist hints: readOnly: false destructive: false idempotent: false call: core-v2-matchlists.creatematchlistentry with: body: tools.body outputParameters: - type: object mapping: $. - name: get-list-matchlist-entries description: Get a list of matchlist entries hints: readOnly: true destructive: false idempotent: true call: core-v2-matchlists.getmatchlistentries outputParameters: - type: object mapping: $. - name: add-individual-entity-matchlist description: Add an individual entity to a matchlist hints: readOnly: false destructive: false idempotent: false call: core-v2-matchlists.addmatchlistentity with: body: tools.body outputParameters: - type: object mapping: $. - name: remove-individual-entity-matchlist description: Remove an individual entity matchlist hints: readOnly: false destructive: false idempotent: true call: core-v2-matchlists.removematchlistentity with: body: tools.body outputParameters: - type: object mapping: $. - name: modify-matchlist-entry description: Modify a matchlist entry hints: readOnly: false destructive: false idempotent: true call: core-v2-matchlists.updatematchlistentry with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-matchlist-entry description: Retrieve a matchlist entry hints: readOnly: true destructive: false idempotent: true call: core-v2-matchlists.getmatchlistentry outputParameters: - type: object mapping: $. - name: search-matchlist-entries description: Search for matchlist entries hints: readOnly: true destructive: false idempotent: false call: core-v2-matchlists.searchmatchlists with: body: tools.body outputParameters: - type: object mapping: $.