Workflow
Tracking Progress

Throughout the lifecyle of a test we update you on the status of the order via our webhooks. When you first place an order, we send a labtest.order.created event. This means that we successfully received you order and started processing it. For subsequent events, we will send a labtest.order.updated update. Each webhook you receive have the base order object with the updated parameters.

These two events are the only webhooks you’ll have to integrate with to receive all our updates!

Example

After ordering an at-home test kit, once the order is complete, picked by our warehouse and is sent to the customer the order status will change to collecting_sample.testkit.transit_customer. And you will receive the following webhook:

Test order updated
{
  "id": "84d96c03-6b1c-4226-ad8f-ef44a6bc08af",
  "team_id": "6353bcab-3526-4838-8c92-063fa760fb6b",
  "user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "patient_details": { "dob": "2020-01-01", "gender": "male" },
  "patient_address": {
    "receiver_name": "John Doe",
    "first_line": "123 Main St.",
    "second_line": "Apt. 208",
    "city": "San Francisco",
    "state": "CA",
    "zip": "91189",
    "country": "United States",
    "phone_number": "+1123456789"
  },
  "details": {
    "type": "testkit",
    "data": {
      "id": "a655f0e4-6405-4a1d-80b7-66f06c2108a7",
      "shipment": {
        "id": "d55210cc-3d9f-4115-8262-5013f700c7be",
        "outbound_tracking_number": "<outbound_tracking_number>",
        "outbound_tracking_url": "<outbound_tracking_url>",
        "inbound_tracking_number": "<inbound_tracking_number>",
        "inbound_tracking_url": "<inbound_tracking_url>",
        "outbound_courier": "usps",
        "inbound_courier": "usps",
        "notes": "<notes>",
        "created_at": "2020-01-01T00:00:00.000Z",
        "updated_at": "2020-01-01T00:00:00.000Z"
      },
      "created_at": "2020-01-01T00:00:00Z",
      "updated_at": "2020-01-01T00:00:00Z"
    }
  },
  "diagnostic_lab_test": {
    "name": "Lipids Panel",
    "description": "Cholesterol test",
    "method": "testkit"
  },
  "sample_id": "123456789",
  "notes": "This is a note",
  "created_at": "2020-01-01T00:00:00Z",
  "updated_at": "2020-01-01T00:00:00Z",
  "status": "collecting_sample",
  "events": [
    {
      "id": 1,
      "created_at": "2022-01-01T00:00:00Z",
      "status": "received.testkit.ordered"
    },
    {
      "id": 2,
      "created_at": "2022-01-02T00:00:00Z",
      "status": "received.testkit.requisition_created"
    },
    {
      "id": 3,
      "created_at": "2022-01-03T00:00:00Z",
      "status": "collecting_sample.testkit.transit_customer"
    }
  ]
}