naftiko: 1.0.0-alpha2 info: label: Particle Health API — Documents description: 'Particle Health API — Document upload, retrieval, and deletion. Bi-directional document sharing surface for CCDA, discharge summaries, and other clinical documents.' tags: - Particle Health - Documents - Bi-Directional created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: PARTICLE_HEALTH_API_TOKEN: PARTICLE_HEALTH_API_TOKEN capability: consumes: - type: http namespace: documents baseUri: https://api.particlehealth.com description: Particle Health Documents business capability. resources: - name: Documents path: /api/v1/documents operations: - name: submitdocument method: POST description: Submit Document outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] - name: Document path: /api/v1/documents/{id} operations: - name: getdocument method: GET description: Get Document outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] - name: deletedocument method: DELETE description: Delete Document outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] - name: PatientDocuments path: /api/v1/documents/patient/{id} operations: - name: getpatientdocuments method: GET description: Get Patient Documents outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] authentication: type: bearer token: '{{env.PARTICLE_HEALTH_API_TOKEN}}' exposes: - type: rest namespace: documents-rest port: 8080 description: REST adapter for Particle Health Documents. resources: - path: /v1/documents name: documents operations: - method: POST name: submitdocument description: Submit Document call: documents.submitdocument outputParameters: [{ type: object, mapping: $. }] - path: /v1/documents/{id} name: document operations: - method: GET name: getdocument description: Get Document call: documents.getdocument outputParameters: [{ type: object, mapping: $. }] - method: DELETE name: deletedocument description: Delete Document call: documents.deletedocument outputParameters: [{ type: object, mapping: $. }] - path: /v1/documents/patient/{id} name: patient-documents operations: - method: GET name: getpatientdocuments description: Get Patient Documents call: documents.getpatientdocuments outputParameters: [{ type: object, mapping: $. }] - type: mcp namespace: documents-mcp port: 9090 transport: http description: MCP adapter for Particle Health Documents. tools: - name: submit-document description: Submit Document hints: { readOnly: false, destructive: false, idempotent: false } call: documents.submitdocument outputParameters: [{ type: object, mapping: $. }] - name: get-document description: Get Document hints: { readOnly: true, destructive: false, idempotent: true } call: documents.getdocument outputParameters: [{ type: object, mapping: $. }] - name: delete-document description: Delete Document hints: { readOnly: false, destructive: true, idempotent: true } call: documents.deletedocument outputParameters: [{ type: object, mapping: $. }] - name: get-patient-documents description: Get Patient Documents hints: { readOnly: true, destructive: false, idempotent: true } call: documents.getpatientdocuments outputParameters: [{ type: object, mapping: $. }]