Skip to main content

Root Cause Changes (RCC)

Use the Root Cause Changes REST API to connect your organization's change records to BigPanda.

Use the Changes REST API to push change feed updates into BigPanda. The change data is then ingested by BigPanda, where all the original change system's fields and active states are converted into BigPanda's Change object.

The resulting data is displayed in the Changes table. The data fields in the table can be customized using the Changes REST API.

To learn more about integrating tools using the BigPanda Changes API, see the Changes Integration Documentation.

RCC rate limitations

To maintain optimal system health, the BigPanda rate limitation for Root Cause Changes is capped at max. 400 changes per minute and 50K changes per week.

Additional requests will return a 429 response code and the request will need to be retried.

Root Cause Changes

Authentication

All BigPanda APIs require Bearer Token Authorization in the call headers.

This API uses the User API Key type of Authorization token.

BigPanda recommends adding Authentication headers only in the secure tool you use to make API calls.

Retrieve All Changes Results Limit

By default, the results limit is set to 200. The limit can be up to 999.

Example 1. Create or update a change
curl --request POST \
     --url https://api.bigpanda.io/data/changes \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <User API KEY>' \
     --header 'x-bp-app-key: <APP KEY>' \
     --data '{
   "identifier":"CNG-166146",
   "tags":{
      "sys_id":"system_123",
      "type":"risky"
   },
   "ticket_url":"https://jira.link.com/ticket?change=chng123",
   "summary":"Update to Contrail configuration for CAP to reduce network processing overhead",
   "end":1979723984,
   "start":1879723984,
   "status":"Done"
}'
curl --request POST \
     --url https://eu-api.bigpanda.io/data/changes \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <User API KEY>' \
     --header 'x-bp-app-key: <APP KEY>' \
     --data '{
   "identifier":"CNG-166146",
   "tags":{
      "sys_id":"system_123",
      "type":"risky"
   },
   "ticket_url":"https://jira.link.com/ticket?change=chng123",
   "summary":"Update to Contrail configuration for CAP to reduce network processing overhead",
   "end":1979723984,
   "start":1879723984,
   "status":"Done"
}'


Example 2. Retrieve a change
curl --request GET \
     --url https://api.bigpanda.io/resources/v2.0/changes/555bbb9e7 \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'
curl --request GET \
     --url https://eu-api.bigpanda.io/resources/v2.0/changes/555bbb9e7 \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'


Example 3. Retrieve all changes
curl --request GET \
     --url https://eu-api.bigpanda.io/resources/v2.0/changes?end_time_frame=1706717429&start_time_frame=1706716229&search="prod-1705811337" \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'
curl --request GET \
     --url https://eu-api.bigpanda.io/resources/v2.0/changes?end_time_frame=1706717429&start_time_frame=1706716229&search="prod-1705811337" \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'


Example 4. Example change response body
        {
            "_id": "67c717be4c7db0082da37293",
            "identifier": "CHS73462267",
            "created_at": 1741100990,
            "end": 1741101134,
            "maintenance_condition": null,
            "source_system": "changes.sd_plus",
            "start": 1741100769,
            "status": "In Progress",
            "summary": "Update payment processing service to return list of objects and not single object",
            "tags": {
                "Assignee": "Shunyun",
                "Change Location": "east-2a",
                "Instance": "claim-77.sfo.prd.feifeing.ai",
                "Approving Manager": "Bob Jack",
                "Environment": "Production",
                "Approval": "Approved",
                "Risk Impact": "Medium"
            },
            "ticket_url": "https://www.servicenow.com/CHS73462267",
            "updated_at": 1741100990,
            "id": "67c717be4c7db0082da37293"
        }


Example 5. Create an RCC relation
curl --request POST \
     --url https://api.bigpanda.io/resources/v2.0/rcc/ \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>' \
     --header ' x-bp-app-key: <APP_KEY>' \
     --data '{
"change_id": "5dcb27ccbc5b3e3",
"incident_id": "5e0b5de5d47a7fa",
"comment": "YourComment",
"match_certainty": "SUSPECT"
}'
curl --request POST \
     --url https://eu-api.bigpanda.io/resources/v2.0/rcc/ \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>' \
     --header ' x-bp-app-key: <APP_KEY>' \
     --data '{
"change_id": "5dcb27ccbc5b3e3",
"incident_id": "5e0b5de5d47a7fa",
"comment": "YourComment",
"match_certainty": "SUSPECT"
}'


Example 6. Retrieve an RCC relation
curl --request GET \
     --url  https://api.bigpanda.io/resources/v2.0/rcc/5550a97edd3aa \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'
curl --request GET \
     --url  https://eu-api.bigpanda.io/resources/v2.0/rcc/5550a97edd3aa \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'


Example 7. Retrieve all RCC relations for an incident
curl --request GET \
     --url https://api.bigpanda.io/resources/v2.0/rcc?incident_id={incident_id} \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'
curl --request GET \
     --url https://eu-api.bigpanda.io/resources/v2.0/rcc?incident_id={incident_id} \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'


Example 8. Retrieve all RCC relations for a change
curl --request GET \
     --url https://api.bigpanda.io/resources/v2.0/rcc?change_identifier=CHS48476739&include_history=true \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'
curl --request GET \
     --url https://eu-api.bigpanda.io/resources/v2.0/rcc?change_identifier=CHS48476739&include_history=true \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>'


Example 9. Update an RCC relation
curl --request PUT \
     --url https://api.bigpanda.io/resources/v2.0/rcc/5e20dd3aa \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>' \
     --header 'x-bp-app-key: <your app key>' \
     --data '{
"comment": "YourComment",
"match_certainty": "SUSPECT"
}'
curl --request PUT \
     --url https://eu-api.bigpanda.io/resources/v2.0/rcc/5e20dd3aa \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer <USER API KEY>' \
     --header 'x-bp-app-key: <your app key>' \
     --data '{
"comment": "YourComment",
"match_certainty": "SUSPECT"
}'