Welcome to the New BigPanda API Documentation
Use the v2.1 routes
The v2.1mapping-enrichmentroutes replace the earlier/enrichments(v2.0) paths. Use v2.1 for all new mapping enrichment work.
query_tag (matched against the incoming alert) or a result_tag (written to the alert when a row matches). Mapping items are added automatically to existing tags when a result_tag column name matches an existing tag. If no tag matches, BigPanda creates a new tag for the enrichment item.Authorization header as Bearer <your_user_api_key>.https://api.bigpanda.io.The base URL for EU instances is https://eu-api.bigpanda.io.| Method | Route | Purpose |
|---|---|---|
POST | /resources/v2.1/mapping-enrichment | Create a mapping schema |
GET | /resources/v2.1/mapping-enrichment | List all mapping schemas |
GET | /resources/v2.1/mapping-enrichment/<mapschema_id> | Retrieve one mapping schema |
PATCH | /resources/v2.1/mapping-enrichment/<mapschema_id> | Update schema status, condition, or description |
DELETE | /resources/v2.1/mapping-enrichment/<mapschema_id> | Delete a mapping schema |
POST | /resources/v2.1/mapping-enrichment/<mapschema_id>/map | Upload the map table as CSV |
GET | /resources/v2.1/mapping-enrichment/<mapschema_id>/map | Retrieve the map table (paginated) |
PATCH | /resources/v2.1/mapping-enrichment/<mapschema_id>/map | Create, update, or delete individual rows |
GET | /resources/v2.1/alert-enrichments-jobs/<job_id> | Check the status of an upload or update job |
type to query_tag or result_tag and name the BigPanda tag it reads from or writes to.POST request to /resources/v2.1/mapping-enrichment:| Field | Type | Description |
|---|---|---|
type | string | Set to mapping for a mapping enrichment. |
active | boolean | Whether the schema is enabled. |
when | object | A BigPanda Query Language (BPQL) object that controls when the map runs. |
config.name | string | The map name. |
config.fields | array | One object per CSV column. |
config.fields[].title | string | The column header as it appears in the CSV. |
config.fields[].type | string | query_tag to match incoming alerts, or result_tag to enrich them. |
config.fields[].tag_name | string | The BigPanda tag the column reads from or writes to. |
config.fields[].override_existing | boolean | Whether a result value overwrites an existing tag value. |
config.case_insensitive | boolean | Match query values without case sensitivity. |
config.id_generation_function | string | Row identity function, for example use_md5. |
id value from the response body. You use it as <mapschema_id> to upload and maintain the table.POST request to /resources/v2.1/mapping-enrichment/<mapschema_id>/map with a text/csv body:trigger_uri value from the response to check the status in Step 3.End the payload with an empty new line
The CSV payload must end with an empty new line, and there must be no spaces before the closing quotation marks on the last line.
Add enrichment flag columns for analytics
To visualize enrichment rates accurately in Unified Analytics (UA), include two enrichment flag columns in the CSV: anenrichedcolumn withtrueorfalsein each row, and a<map name>column withenrichedin each row to apply the enriched quality to any alert matched on the map.
GET request to the trigger_uri you copied, which resolves to /resources/v2.1/alert-enrichments-jobs/<job_id>.status shows the job completed successfully. The job object returns status, job_id, and trigger_uri.PATCH request to /resources/v2.1/mapping-enrichment/<mapschema_id>/map. Set op to the operation and value to the row data:op | Effect | value requirement |
|---|---|---|
create | Adds a new row. Fails if the row already exists. | Every column in the row. |
update | Modifies an existing row. | Every column in the row. |
delete | Removes an existing row. | Only the query or key fields. |
active), condition (when), and description (note). To change mapping fields, create a new schema.PATCH request to /resources/v2.1/mapping-enrichment/<mapschema_id> with active set to false:Normalize values with overrides
Map overrides keep tag values consistent even across systems with different data models. Setoverride_existingtotrueon aresult_tagcolumn to normalize its value on every match.