naftiko: 1.0.0-alpha2 info: label: Particle Health API — Subscriptions description: 'Particle Health API — Patient subscription management. Subscribe individual patients or cohorts to Signal monitoring, list and delete subscriptions, and trigger sandbox workflows.' tags: - Particle Health - Subscriptions - Signal 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: subscriptions baseUri: https://api.particlehealth.com description: Particle Health Subscriptions business capability. resources: - name: PatientSubscriptions path: /api/v1/patients/{particle_patient_id}/subscriptions operations: - name: listpatientsubscriptions method: GET description: List Patient Subscriptions outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] - name: createpatientsubscriptions method: POST description: Create Patient Subscriptions outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] - name: deletepatientsubscriptions method: DELETE description: Delete Patient Subscriptions outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] - name: CohortSubscriptions path: /api/v1/patients/subscriptions operations: - name: createcohortsubscriptions method: POST description: Create Cohort Subscriptions outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] - name: SandboxTrigger path: /api/v1/patients/{particle_patient_id}/subscriptions/trigger-sandbox-workflow operations: - name: triggersandboxworkflow method: POST description: Trigger Sandbox Workflow outputRawFormat: json outputParameters: [{ name: result, type: object, value: $. }] authentication: type: bearer token: '{{env.PARTICLE_HEALTH_API_TOKEN}}' exposes: - type: rest namespace: subscriptions-rest port: 8080 description: REST adapter for Particle Health Subscriptions. resources: - path: /v1/patients/{particle_patient_id}/subscriptions name: patient-subscriptions operations: - method: GET name: listpatientsubscriptions description: List Patient Subscriptions call: subscriptions.listpatientsubscriptions outputParameters: [{ type: object, mapping: $. }] - method: POST name: createpatientsubscriptions description: Create Patient Subscriptions call: subscriptions.createpatientsubscriptions outputParameters: [{ type: object, mapping: $. }] - method: DELETE name: deletepatientsubscriptions description: Delete Patient Subscriptions call: subscriptions.deletepatientsubscriptions outputParameters: [{ type: object, mapping: $. }] - path: /v1/patients/subscriptions name: cohort-subscriptions operations: - method: POST name: createcohortsubscriptions description: Create Cohort Subscriptions call: subscriptions.createcohortsubscriptions outputParameters: [{ type: object, mapping: $. }] - path: /v1/patients/{particle_patient_id}/subscriptions/trigger-sandbox-workflow name: sandbox-trigger operations: - method: POST name: triggersandboxworkflow description: Trigger Sandbox Workflow call: subscriptions.triggersandboxworkflow outputParameters: [{ type: object, mapping: $. }] - type: mcp namespace: subscriptions-mcp port: 9090 transport: http description: MCP adapter for Particle Health Subscriptions. tools: - name: list-patient-subscriptions description: List Patient Subscriptions hints: { readOnly: true, destructive: false, idempotent: true } call: subscriptions.listpatientsubscriptions outputParameters: [{ type: object, mapping: $. }] - name: create-patient-subscriptions description: Create Patient Subscriptions hints: { readOnly: false, destructive: false, idempotent: false } call: subscriptions.createpatientsubscriptions outputParameters: [{ type: object, mapping: $. }] - name: delete-patient-subscriptions description: Delete Patient Subscriptions hints: { readOnly: false, destructive: true, idempotent: true } call: subscriptions.deletepatientsubscriptions outputParameters: [{ type: object, mapping: $. }] - name: create-cohort-subscriptions description: Create Cohort Subscriptions hints: { readOnly: false, destructive: false, idempotent: false } call: subscriptions.createcohortsubscriptions outputParameters: [{ type: object, mapping: $. }] - name: trigger-sandbox-workflow description: Trigger Sandbox Workflow hints: { readOnly: false, destructive: false, idempotent: false } call: subscriptions.triggersandboxworkflow outputParameters: [{ type: object, mapping: $. }]