Skip to main content

Event Overview

The Car Actually Placed webhook fires when a railcar is physically placed at a station or track in your network. It delivers equipment details, the placement location, loaded/empty status, and the associated work order (if any).
This webhook is triggered through ARMS workflow automation. Configure it in your workflow rules to notify external systems when cars arrive at specific locations.

Payload Schema

{
  "event_type": "car_actually_placed",
  "event_timestamp": "2026-03-05T14:30:00+00:00",
  "work_order_id": "12345",
  "linked_resources": {
    "equipment": [
      {
        "resource_id": 123,
        "car_number": "GCGO 12345"
      }
    ],
    "event_station": {
      "resource_id": 456,
      "grouping_type": "station"
    }
  },
  "attributes": {
    "is_loaded": true
  }
}

Field Reference

Top-level Fields

FieldTypeRequiredDescription
event_typestringYesAlways "car_actually_placed" for this event.
event_timestampstring (ISO 8601)NoWhen the event occurred. null if unavailable.
work_order_idstringNoID of the associated work order. null if the event has no work order.
linked_resourcesobjectYesEquipment and station involved in the event.
attributesobjectYesEvent-specific attributes.

linked_resources.equipment

An array of equipment items being placed. Always an array, even for a single car.
FieldTypeDescription
resource_idintegerInternal equipment identifier.
car_numberstring or nullRailroad car number (e.g. "GCGO 12345").

linked_resources.event_station

The station or track where the equipment is being placed. null if no station is associated.
FieldTypeDescription
resource_idintegerInternal station identifier.
grouping_typestringType of location (e.g. "station", "track").

attributes

FieldTypeDescription
is_loadedbooleantrue if the car is loaded, false if empty.

Example HTTP Request

This is the full HTTP request your endpoint receives:
POST /your-webhook-endpoint HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
X-Webhook-Timestamp: 1709651400
X-Webhook-Signature: <base64-encoded-ed25519-signature>
X-Webhook-KeyId: cedar-webhooks-2026
X-Webhook-Id: 550e8400-e29b-41d4-a716-446655440000

{"attributes":{"is_loaded":true},"event_timestamp":"2026-03-05T14:30:00+00:00","event_type":"car_actually_placed","linked_resources":{"equipment":[{"car_number":"GCGO 12345","resource_id":123}],"event_station":{"grouping_type":"station","resource_id":456}},"work_order_id":"12345"}
The JSON body is canonically serialized (sorted keys, no extra whitespace) so the signature can be verified deterministically. See the Webhook Overview for verification instructions.

Setting Up This Webhook

1

Configure Workflow

In ARMS, create or edit a workflow rule that triggers on car placement events.
2

Add Webhook Effect

Add the Car Actually Placed Webhook effect to the workflow. Provide your endpoint URL and authorization token.
3

Implement Your Endpoint

Build an HTTPS endpoint that receives the POST, verifies the signature, and processes the event.
4

Test

Trigger a test event and confirm your endpoint receives and verifies the payload correctly.

Webhook Overview

Signing, verification, public key, and shared HTTP headers.