> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cedarai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Record Train Event

> Record a train event.



## OpenAPI

````yaml /user-docs/api-reference/work_order.swagger.json post /t/v1/record-train-event
openapi: 3.0.1
info:
  title: protobuf/arms/work_order.proto
  version: version not set
servers:
  - description: Production (US)
    url: https://api-lg-k-h1.arms.cedarai.com
  - description: Production (EU)
    url: https://api-lg-k-h1.arms.cedarai.se
security:
  - ApiKeyAuth: []
    AssumeUserAuth: []
tags:
  - name: WorkOrderService
paths:
  /t/v1/record-train-event:
    post:
      tags:
        - WorkOrderService
      summary: Record Train Event
      description: Record a train event.
      operationId: RecordTrainEvent
      parameters:
        - description: Carrier ID
          in: header
          name: Carrier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/armsRecordTrainEventRequest'
        description: Request message for recording a train event.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: A successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
          description: An unexpected error response.
components:
  schemas:
    armsRecordTrainEventRequest:
      description: Request message for recording a train event.
      properties:
        eventLocation:
          $ref: '#/components/schemas/RecordTrainEventRequestEventLocation'
        eventMessage:
          description: >-
            A human-readable message for the event. This will override the
            default event message.
          type: string
        externalSystemEvent:
          $ref: '#/components/schemas/armsExternalSystemEvent'
        finalApprovalEventDetails:
          $ref: >-
            #/components/schemas/RecordTrainEventRequestFinalApprovalEventDetails
        notes:
          description: Free-form notes about the event.
          type: string
        otherEventDetails:
          $ref: '#/components/schemas/RecordTrainEventRequestOtherEventDetails'
        safetyCheckEventDetails:
          $ref: '#/components/schemas/RecordTrainEventRequestSafetyCheckEventDetails'
        workOrderId:
          description: The work order ID associated with this event.
          type: string
      title: Record Train Event Request
      type: object
    rpcStatus:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        message:
          type: string
      type: object
    RecordTrainEventRequestEventLocation:
      description: Information about where the event occurred.
      properties:
        fsac:
          description: >-
            The FSAC (or "primary location code" in Europe) of the location
            where the event occurred. This is only used if the grouping_id is
            not provided.
          type: string
        groupingId:
          description: >-
            The ARMS network structure grouping id for the location where the
            event occurred.
          format: int64
          type: string
      title: Event Location
      type: object
    armsExternalSystemEvent:
      description: Event that originated from an external system.
      properties:
        eventId:
          description: A unique id for the event in the origin system, if any.
          type: string
        eventTimestamp:
          description: >-
            The timestamp of the event. If not provided, ARMS will use the API
            request time.
          format: date-time
          type: string
        eventTypeKey:
          description: A unique key for the event in the origin system.
          type: string
        systemName:
          description: The name of the system that originated the event.
          type: string
        user:
          $ref: '#/components/schemas/ExternalSystemEventExternalUser'
      title: External System Event
      type: object
    RecordTrainEventRequestFinalApprovalEventDetails:
      description: Details for a final approval event.
      properties:
        consistEquipmentUuids:
          description: List of equipment UUIDs in the consist for final approval.
          items:
            type: string
          type: array
      title: Final Approval Event Details
      type: object
    RecordTrainEventRequestOtherEventDetails:
      description: Empty message - just serves as a discriminator
      title: Other Event Details
      type: object
    RecordTrainEventRequestSafetyCheckEventDetails:
      description: Details for a safety check event.
      properties:
        failedEquipmentUuids:
          description: List of equipment UUIDs that failed the safety check.
          items:
            type: string
          type: array
        passedEquipmentUuids:
          description: List of equipment UUIDs that passed the safety check.
          items:
            type: string
          type: array
        status:
          $ref: >-
            #/components/schemas/RecordTrainEventRequestSafetyCheckEventDetailsStatus
      title: Safety Check Event Details
      type: object
    protobufAny:
      additionalProperties:
        type: object
      properties:
        '@type':
          type: string
      type: object
    ExternalSystemEventExternalUser:
      description: >-
        Information about the user who originated the event in the external
        system.
      properties:
        displayName:
          description: Display name of the user.
          type: string
        email:
          description: Email address of the user.
          type: string
      title: External User
      type: object
    RecordTrainEventRequestSafetyCheckEventDetailsStatus:
      default: PASSED
      enum:
        - PASSED
        - FAILED
      type: string
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-arms-api-key
      type: apiKey
    AssumeUserAuth:
      in: header
      name: x-arms-assume-user
      type: apiKey

````