Case API for WebUI and Beyond

Change in Architecture

(look behind you)

Guiding Principles

  • meet the needs of the WebUI
  • meet the needs of 3rd party stuff
  • avoid breaking changes
  • allow for additional features/expansion

Unique Identifiers

{
    "id": "686A788A-E5C8-4C1B-8ACB-AD9973133760",  
    "name": "This sure is a case",
    "priority": 5,
    "owner": {
        "number": -100
    }
}

History

[
  {
    "id": "686A788A-E5C8-4C1B-8ACB-AD9973133760",
    "action": "UpdateCase",
    "date": "2016-11-10T17:48:49.094Z",
    "actor": {
      "number": -100
    },
    "entities": [
      {
        "id": "F23FEF17-916E-45C9-83EE-FBCDF85DE18F",
        "type": "Case",
        "properties": [
          {
            "name": "name",
            "from": "Case Alarm Test - small edit",
            "to": "this sure is a new name"
          },
          {
            "name": "priority",
            "from": "5",
            "to": "1"     
          },
          {
            "name": "summary",
            "from": "edit 1",
            "to": "Just for mich"
          }
        ]
      }
    ]
  }
]
[
  {
    "id": "686A788A-E5C8-4C1B-8ACB-AD9973133760",
    "action": "AddTag",
    "date": "2016-11-10T17:48:49.094Z",
    "actor": {
      "number": -100
    },
    "entities": [
      {
        "id": "F23FEF17-916E-45C9-83EE-FBCDF85DE18F",
        "type": "Case",
        "properties": [
        ]
      },
      {
        "id": "100",
        "type": "Tag",
        "properties": [
            "name": "text".
            "from": "threat",
            "to": "threat"
        ]
      },
    ]
  }
]

List & Details

{
  "dateCreated": "2016-10-07T19:08:09.75Z",
  "dateUpdated": "2016-11-10T17:48:48.985Z",
  "externalId": "",
  "id": "F23FEF17-916E-45C9-83EE-FBCDF85DE18F",
  "lastUpdatedBy": {
    "number": -100
  },
  "name": "this sure is a new name",
  "number": 132,
  "owner": {
    "number": 35
  },
  "priority": 1,
  "resolution": null,
  "statusName": "Created",
  "summary": "Just for mich",
  "collaborators": [
    {
      "number": 35
    }
  ],
  "metrics": {
    "created": {
      "date": "2016-10-07T19:08:09.75Z",
      "dateCustom": null,
      "note": null
    },
    "earliestEvidence": {
      "date": null,
      "dateCustom": null,
      "note": null
    },
    "incident": {
      "date": null,
      "dateCustom": null,
      "note": null
    },
    "mitigated": {
      "date": null,
      "dateCustom": null,
      "note": null
    },
    "resolved": {
      "date": null,
      "dateCustom": null,
      "note": null
    }
  },
  "tags": null
}
[
{
  "dateCreated": "2016-10-07T19:08:09.75Z",
  "dateUpdated": "2016-11-10T17:48:48.985Z",
  "externalId": "",
  "id": "F23FEF17-916E-45C9-83EE-FBCDF85DE18F",
  "name": "this sure is a new name",
  "number": 132,
  "owner": {
    "number": 35
  },
  "priority": 1,
  "statusName": "Created",
  "summary": "Just for mich",
  "collaborators": [
    {
      "number": 35
    }
  ],
  "tags": [
      "number": 1,
      "text": "On Hold"
      }
  ]
}
]

Alarm Evidence

...to the white board!

Case API for WebUI and Beyond

By Chris Langager

Case API for WebUI and Beyond

  • 314