naftiko: 1.0.0-alpha2 info: label: Portbase Port Community System API — VesselCalls description: 'Portbase Port Community System API — VesselCalls. 4 operations. Lead operation: List vessel calls. Self-contained Naftiko capability covering one Port Community Systems business surface.' tags: - Port Community Systems - VesselCalls created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORT_COMMUNITY_SYSTEMS_API_KEY: PORT_COMMUNITY_SYSTEMS_API_KEY capability: consumes: - type: http namespace: portbase-port-community-vesselcalls baseUri: https://api.portbase.com/v1 description: Portbase Port Community System API — VesselCalls business capability. Self-contained, no shared references. resources: - name: vessel-calls path: /vessel-calls operations: - name: listvesselcalls method: GET description: List vessel calls outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: portCode in: query type: string description: UN/LOCODE of the port (e.g., NLRTM for Rotterdam) - name: status in: query type: string description: Filter by vessel call status - name: fromDate in: query type: string description: Earliest expected arrival date - name: toDate in: query type: string - name: offset in: query type: integer - name: limit in: query type: integer - name: createvesselcall method: POST description: Submit vessel call notification outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: vessel-calls-vesselCallId path: /vessel-calls/{vesselCallId} operations: - name: getvesselcall method: GET description: Get vessel call outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatevesselcall method: PUT description: Update vessel call outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.PORT_COMMUNITY_SYSTEMS_API_KEY}}' exposes: - type: rest namespace: portbase-port-community-vesselcalls-rest port: 8080 description: REST adapter for Portbase Port Community System API — VesselCalls. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/vessel-calls name: vessel-calls description: REST surface for vessel-calls. operations: - method: GET name: listvesselcalls description: List vessel calls call: portbase-port-community-vesselcalls.listvesselcalls with: portCode: rest.portCode status: rest.status fromDate: rest.fromDate toDate: rest.toDate offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: createvesselcall description: Submit vessel call notification call: portbase-port-community-vesselcalls.createvesselcall with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vessel-calls/{vesselcallid} name: vessel-calls-vesselcallid description: REST surface for vessel-calls-vesselCallId. operations: - method: GET name: getvesselcall description: Get vessel call call: portbase-port-community-vesselcalls.getvesselcall outputParameters: - type: object mapping: $. - method: PUT name: updatevesselcall description: Update vessel call call: portbase-port-community-vesselcalls.updatevesselcall with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: portbase-port-community-vesselcalls-mcp port: 9090 transport: http description: MCP adapter for Portbase Port Community System API — VesselCalls. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-vessel-calls description: List vessel calls hints: readOnly: true destructive: false idempotent: true call: portbase-port-community-vesselcalls.listvesselcalls with: portCode: tools.portCode status: tools.status fromDate: tools.fromDate toDate: tools.toDate offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $. - name: submit-vessel-call-notification description: Submit vessel call notification hints: readOnly: false destructive: false idempotent: false call: portbase-port-community-vesselcalls.createvesselcall with: body: tools.body outputParameters: - type: object mapping: $. - name: get-vessel-call description: Get vessel call hints: readOnly: true destructive: false idempotent: true call: portbase-port-community-vesselcalls.getvesselcall outputParameters: - type: object mapping: $. - name: update-vessel-call description: Update vessel call hints: readOnly: false destructive: false idempotent: true call: portbase-port-community-vesselcalls.updatevesselcall with: body: tools.body outputParameters: - type: object mapping: $.