naftiko: 1.0.0-alpha2 info: label: Navis N4 Terminal Operating System REST API — Vessel Visits description: 'Navis N4 Terminal Operating System REST API — Vessel Visits. 3 operations. Lead operation: List vessel visits. Self-contained Naftiko capability covering one Navis business surface.' tags: - Navis - Vessel Visits created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NAVIS_API_KEY: NAVIS_API_KEY capability: consumes: - type: http namespace: n4-vessel-visits baseUri: https://{terminal}.navis.example.com/apex/n4/api/v2 description: Navis N4 Terminal Operating System REST API — Vessel Visits business capability. Self-contained, no shared references. resources: - name: vessel-visits path: /vessel-visits operations: - name: listvesselvisits method: GET description: List vessel visits outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vesselName in: query type: string - name: status in: query type: string - name: arrivalFrom in: query type: string - name: arrivalTo in: query type: string - name: limit in: query type: integer - name: vessel-visits-visitId path: /vessel-visits/{visitId} operations: - name: getvesselvisit method: GET description: Get vessel visit details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: visitId in: path type: string required: true - name: vessel-visits-visitId-units path: /vessel-visits/{visitId}/units operations: - name: getvesselvisitunits method: GET description: Get units for a vessel visit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: visitId in: path type: string required: true - name: category in: query type: string - name: limit in: query type: integer authentication: type: apikey key: X-API-Key value: '{{env.NAVIS_API_KEY}}' placement: header exposes: - type: rest namespace: n4-vessel-visits-rest port: 8080 description: REST adapter for Navis N4 Terminal Operating System REST API — Vessel Visits. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/vessel-visits name: vessel-visits description: REST surface for vessel-visits. operations: - method: GET name: listvesselvisits description: List vessel visits call: n4-vessel-visits.listvesselvisits with: vesselName: rest.vesselName status: rest.status arrivalFrom: rest.arrivalFrom arrivalTo: rest.arrivalTo limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/vessel-visits/{visitid} name: vessel-visits-visitid description: REST surface for vessel-visits-visitId. operations: - method: GET name: getvesselvisit description: Get vessel visit details call: n4-vessel-visits.getvesselvisit with: visitId: rest.visitId outputParameters: - type: object mapping: $. - path: /v1/vessel-visits/{visitid}/units name: vessel-visits-visitid-units description: REST surface for vessel-visits-visitId-units. operations: - method: GET name: getvesselvisitunits description: Get units for a vessel visit call: n4-vessel-visits.getvesselvisitunits with: visitId: rest.visitId category: rest.category limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: n4-vessel-visits-mcp port: 9090 transport: http description: MCP adapter for Navis N4 Terminal Operating System REST API — Vessel Visits. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-vessel-visits description: List vessel visits hints: readOnly: true destructive: false idempotent: true call: n4-vessel-visits.listvesselvisits with: vesselName: tools.vesselName status: tools.status arrivalFrom: tools.arrivalFrom arrivalTo: tools.arrivalTo limit: tools.limit outputParameters: - type: object mapping: $. - name: get-vessel-visit-details description: Get vessel visit details hints: readOnly: true destructive: false idempotent: true call: n4-vessel-visits.getvesselvisit with: visitId: tools.visitId outputParameters: - type: object mapping: $. - name: get-units-vessel-visit description: Get units for a vessel visit hints: readOnly: true destructive: false idempotent: true call: n4-vessel-visits.getvesselvisitunits with: visitId: tools.visitId category: tools.category limit: tools.limit outputParameters: - type: object mapping: $.