SIGNALS Documentation
API Reference

Flightcases

Flightcase lifecycle — pack, seal, dispatch, return, and repack barcoded assets.

Flightcases API

Flightcases group barcoded assets into dispatchable units (kits, hybrid kits, transport boxes). The API covers the full pack/seal/dispatch/return lifecycle.

Packing a kit or hybrid-fixed flightcase holds its contents from individual availability via flightcase demand; unpacking releases it.

Endpoints

Method URL Description
GET /api/v1/flightcases List flightcases
POST /api/v1/flightcases Create flightcase
POST /api/v1/flightcases/temporary Create temporary flightcase
GET /api/v1/flightcases/{flightcase} Show flightcase with packed contents
PATCH /api/v1/flightcases/{flightcase} Update flightcase metadata
GET /api/v1/flightcases/{flightcase}/compliance Compliance manifest (sealed)
POST /api/v1/flightcases/{flightcase}/pack Pack barcoded item
POST /api/v1/flightcases/{flightcase}/unpack Unpack barcoded item
POST /api/v1/flightcases/{flightcase}/transfer Transfer packed items between flightcases
POST /api/v1/flightcases/{flightcase}/seal Seal flightcase
POST /api/v1/flightcases/{flightcase}/unseal Unseal flightcase
POST /api/v1/flightcases/{flightcase}/dissolve Dissolve flightcase
POST /api/v1/flightcases/{flightcase}/dispatch Dispatch kit to rental
POST /api/v1/flightcases/{flightcase}/return Return kit from rental
POST /api/v1/flightcases/repack/start Start repack session
POST /api/v1/flightcases/{flightcase}/repack Repack single item
POST /api/v1/flightcases/{flightcase}/verify-checkin Verify check-in scan
POST /api/v1/flightcases/{flightcase}/flag-return-damage Flag per-asset damage on kit return (raises a repair through the shared origin seam; conflict policy rejects still-packed components)

CatalogueItem flightcase templates: GET/PUT /api/v1/catalogue_items/{catalogue_item}/flightcase_template.

Authentication

Requires flightcases:read (GET) or flightcases:write (POST/PATCH and mutating lifecycle endpoints: dispatch, return, repack, verify-checkin, flag-return-damage) with matching flightcases.view, flightcases.pack, flightcases.seal, etc. permissions.

List flightcases

GET /api/v1/flightcases

Ransack filters: name, barcode, status, scan_mode, is_temporary, catalogue_item_id, warehouse_id, rental_id, created_at, updated_at.

Includes: ?include=catalogue item,warehouse,active_items

Lifecycle notes

Action Constraint
Pack / unpack Flightcase must be open
Seal Requires packed contents; produces compliance manifest
Dissolve Warn-and-resolve nested packing; may transfer items
Dispatch / return Kit mode — ties flightcase to rental
Repack Post-return scan workflow

Transport flightcases may use dissolve-on-dispatch (configured on catalogue item template) — see Flightcases & Kits platform doc.

Pack item

POST /api/v1/flightcases/{flightcase}/pack
Field Type Required Description
serialised_item_id int Yes barcoded assets level to pack
position string No Slot/position label
notes string No Free-text note

Returns 201 with container_item. Rejected with 422 when flightcase is not open, item is at wrong warehouse, already packed, or committed to another rental.

Unpack item

POST /api/v1/flightcases/{flightcase}/unpack

Body: { "serialised_item_id": 88 }. Returns 200 with closed membership row.

Webhooks

flightcase.created, flightcase.item.packed, flightcase.item.unpacked, flightcase.sealed, flightcase.unsealed, flightcase.dissolved, flightcase.dispatched, flightcase.returned, flightcase.repack.started, flightcase.repack.item — see Webhooks.