WYRE-AI/msp-claude-plugins/msp-claude-plugins/blumira/blumira/skills/api-patterns/SKILL.md
Blumira API Patterns
Blumira REST API fundamentals: JWT authentication, the dual `/org/*` vs `/msp/*` path structure, suffix-based filter operators, pagination parameters and response metadata, the stateful MCP navigation tools, and HTTP error causes.
- Source repository stars
- 42
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
Blumira REST API fundamentals: JWT authentication, the dual `/org/*` vs `/msp/*` path structure, suffix-based filter operators, pagination parameters and response metadata, the stateful MCP navigation tools, and HTTP error causes.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/blumira/blumira/skills/api-patterns"Inspect the Agent Skill "Blumira API Patterns" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/blumira/blumira/skills/api-patterns/SKILL.md at commit 5005f73ba2f52cd299f58aa6bb79f4e70ae87103. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Key Concepts
Blumira uses JWT tokens for authentication. The token is passed via the X-Blumira-JWT-Token header (MCP Gateway) or as a Bearer token directly against the API.
blumiranavigate — Navigate to a specific resource or viewblumirastatus — Show current navigation contextblumiraback — Return to previous context - 02
Authentication
Blumira uses JWT tokens for authentication. The token is passed via the X-Blumira-JWT-Token header (MCP Gateway) or as a Bearer token directly against the API.
Blumira uses JWT tokens for authentication. The token is passed via the X-Blumira-JWT-Token header (MCP Gateway) or as a Bearer token directly against the API.Alternatively, for Pax8 integrations:Important: JWT tokens have expiration times. If you receive 401 errors, the token may need to be regenerated from the Blumira portal. - 03
Dual Path Groups
Organization tools (blumirafindings, blumiraagents, blumirausers) operate on the authenticated org. MSP tools (blumiramsp) require MSP-level credentials and can target specific accounts.
Organization tools (blumirafindings, blumiraagents, blumirausers) operate on the authenticated org. MSP tools (blumiramsp) require MSP-level credentials and can target specific accounts. - 04
Rich Filtering Syntax
Blumira supports powerful query filters appended to field names:
Blumira supports powerful query filters appended to field names:Combining filters: Multiple filters are ANDed together: - 05
Pagination
All list endpoints support pagination parameters:
All list endpoints support pagination parameters:Responses include pagination metadata:
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 96/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 42 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- WYRE-AI/msp-claude-plugins
- Skill path
- msp-claude-plugins/blumira/blumira/skills/api-patterns/SKILL.md
- Commit
- 5005f73ba2f52cd299f58aa6bb79f4e70ae87103
- License
- Apache-2.0
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
Blumira API Patterns
Overview
Blumira exposes a REST API at https://api.blumira.com/public-api/v1 with two path groups: /org/* for direct organization access and /msp/* for MSP multi-tenant operations. The MCP server wraps these into tool calls, but understanding the underlying patterns helps construct effective queries.
Key Concepts
Authentication
Blumira uses JWT tokens for authentication. The token is passed via the X-Blumira-JWT-Token header (MCP Gateway) or as a Bearer token directly against the API.
Authorization: Bearer <JWT_TOKEN>
Alternatively, for Pax8 integrations:
pax8ApiTokenV1: <PAX8_TOKEN>
Important: JWT tokens have expiration times. If you receive 401 errors, the token may need to be regenerated from the Blumira portal.
Dual Path Groups
| Path Group | Prefix | Use Case |
|---|---|---|
| Organization | /org/* | Direct access to a single organization's data |
| MSP | /msp/* | Multi-tenant access across managed accounts |
Organization tools (blumira_findings_*, blumira_agents_*, blumira_users_*) operate on the authenticated org. MSP tools (blumira_msp_*) require MSP-level credentials and can target specific accounts.
Rich Filtering Syntax
Blumira supports powerful query filters appended to field names:
| Operator | Suffix | Example | Description |
|---|---|---|---|
| Equals | .eq | status.eq=10 | Exact match |
| In | .in | severity.in=HIGH,CRITICAL | Match any in list |
| Greater than | .gt | created.gt=2025-01-01 | Greater than |
| Less than | .lt | created.lt=2025-12-31 | Less than |
| Contains | .contains | name.contains=ransomware | Substring match |
| Regex | .regex | name.regex=^brute | Regex match |
| Negation | ! prefix | !status.eq=30 | Negate any filter |
Combining filters: Multiple filters are ANDed together:
GET /org/findings?status.eq=10&severity.in=HIGH,CRITICAL&created.gt=2025-01-01
Pagination
All list endpoints support pagination parameters:
| Parameter | Description | Default |
|---|---|---|
page | Page number (1-indexed) | 1 |
page_size | Results per page | 25 |
limit | Max total results | — |
order_by | Sort field (prefix - for descending) | varies |
Responses include pagination metadata:
{
"data": [...],
"links": {
"next": "/org/findings?page=2&page_size=25",
"prev": null
},
"meta": {
"total": 142,
"page": 1,
"page_size": 25
}
}
MCP Navigation Tools
The MCP server includes stateful navigation tools:
blumira_navigate— Navigate to a specific resource or viewblumira_status— Show current navigation contextblumira_back— Return to previous context
These help maintain context when drilling into findings, devices, or accounts.
Common Workflows
Filtered Finding Query
- Use
blumira_findings_listwith filter parameters - Narrow results with status, severity, and date filters
- Page through results if needed
- Drill into specific findings with
blumira_findings_get
MSP Cross-Account Query
- Use
blumira_msp_accounts_listto enumerate accounts - Use
blumira_msp_findings_allfor cross-account finding overview - Filter to specific account with
blumira_msp_findings_list - Drill into per-account details as needed
Error Handling
401 Unauthorized
Cause: JWT token is expired, invalid, or missing
Solution: Regenerate the token from Blumira Portal > Settings > API Access. Verify BLUMIRA_JWT_TOKEN is set.
403 Forbidden
Cause: Token lacks permissions for the requested resource (e.g., org token used for MSP endpoints) Solution: Ensure the token has appropriate scope. MSP endpoints require MSP-level credentials.
404 Not Found
Cause: Resource ID doesn't exist or is not accessible from the current scope Solution: Verify the ID and ensure the token has access to the target organization.
429 Rate Limited
Cause: Too many requests in a short period Solution: Back off and retry after a delay. Use pagination to reduce request volume.
422 Validation Error
Cause: Invalid filter syntax or parameter values
Solution: Check filter operator syntax (.eq, .in, etc.) and ensure values match expected types.
Best Practices
- Use pagination (
page_size=50) for large datasets instead of fetching everything at once - Combine filters to narrow results before fetching — don't over-fetch and filter client-side
- Use
order_by=-createdto get most recent items first - Cache account lists when doing MSP operations to avoid repeated lookups
- Always handle pagination — check
meta.totalto know if more pages exist
Related Skills
Frequently asked questions
What to verify before installation and use
What does the Blumira API Patterns source document cover?
Blumira REST API fundamentals: JWT authentication, the dual `/org/*` vs `/msp/*` path structure, suffix-based filter operators, pagination parameters and response metadata, the stateful MCP navigation tools, and HTTP error causes.
How do I install Blumira API Patterns?
The source record exposes this install command: npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/blumira/blumira/skills/api-patterns". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
coreyhaines31/marketingskills
ab-testing
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
garrytan/gbrain
bulk-ingestion
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
migrate-vstest-to-mtp
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing