naftiko: 1.0.0-alpha2 info: label: WildApricot Admin API — Attachments description: 'WildApricot Admin API — Attachments. 3 operations. Lead operation: WildApricot Get Attachments Infos. Self-contained Naftiko capability covering one Wildapricot business surface.' tags: - Wildapricot - Attachments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WILDAPRICOT_API_KEY: WILDAPRICOT_API_KEY capability: consumes: - type: http namespace: admin-attachments baseUri: https://api.wildapricot.org/v2.2 description: WildApricot Admin API — Attachments business capability. Self-contained, no shared references. resources: - name: accounts-accountId-attachments-GetInfos path: /accounts/{accountId}/attachments/GetInfos operations: - name: getattachmentinfos method: GET description: WildApricot Get Attachments Infos outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: attachmentIds in: query type: string description: list of comma separated Attachment identifiers required: true - name: accounts-accountId-attachments-Upload path: /accounts/{accountId}/attachments/Upload operations: - name: uploadattachments method: POST description: WildApricot Upload Attachments outputRawFormat: json outputParameters: - name: result type: object value: $. - name: accounts-accountId-attachments-attachmentId path: /accounts/{accountId}/attachments/{attachmentId} operations: - name: getattachmentcontent method: GET description: WildApricot Download Attachment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: attachmentId in: path type: string description: Attachment identifier required: true - name: asBase64 in: query type: boolean description: Base64 encoded image will be returned. authentication: type: bearer token: '{{env.WILDAPRICOT_API_KEY}}' exposes: - type: rest namespace: admin-attachments-rest port: 8080 description: REST adapter for WildApricot Admin API — Attachments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/accounts/{accountid}/attachments/getinfos name: accounts-accountid-attachments-getinfos description: REST surface for accounts-accountId-attachments-GetInfos. operations: - method: GET name: getattachmentinfos description: WildApricot Get Attachments Infos call: admin-attachments.getattachmentinfos with: attachmentIds: rest.attachmentIds outputParameters: - type: object mapping: $. - path: /v1/accounts/{accountid}/attachments/upload name: accounts-accountid-attachments-upload description: REST surface for accounts-accountId-attachments-Upload. operations: - method: POST name: uploadattachments description: WildApricot Upload Attachments call: admin-attachments.uploadattachments outputParameters: - type: object mapping: $. - path: /v1/accounts/{accountid}/attachments/{attachmentid} name: accounts-accountid-attachments-attachmentid description: REST surface for accounts-accountId-attachments-attachmentId. operations: - method: GET name: getattachmentcontent description: WildApricot Download Attachment call: admin-attachments.getattachmentcontent with: attachmentId: rest.attachmentId asBase64: rest.asBase64 outputParameters: - type: object mapping: $. - type: mcp namespace: admin-attachments-mcp port: 9090 transport: http description: MCP adapter for WildApricot Admin API — Attachments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: wildapricot-get-attachments-infos description: WildApricot Get Attachments Infos hints: readOnly: true destructive: false idempotent: true call: admin-attachments.getattachmentinfos with: attachmentIds: tools.attachmentIds outputParameters: - type: object mapping: $. - name: wildapricot-upload-attachments description: WildApricot Upload Attachments hints: readOnly: false destructive: false idempotent: false call: admin-attachments.uploadattachments outputParameters: - type: object mapping: $. - name: wildapricot-download-attachment description: WildApricot Download Attachment hints: readOnly: true destructive: false idempotent: true call: admin-attachments.getattachmentcontent with: attachmentId: tools.attachmentId asBase64: tools.asBase64 outputParameters: - type: object mapping: $.