# Carriers ## Filter carriers - [POST /carriers/filter](https://docs.mvmnt.io/apis/openapi/carriers/filtercarriers.md): Query carriers using flexible filter criteria with AND/OR logic. By default, only non-deleted carriers are returned (deletedAt: { isNull: true }). Override this by explicitly setting deletedAt filter criteria. Returns carriers of all types (TRUCKLOAD, AIR, CARTAGE, LINEHAUL, LTL, OCEAN, RAIL) with type-specific fields included based on carrier type. ## Create a new carrier - [POST /carriers](https://docs.mvmnt.io/apis/openapi/carriers/createcarrier.md): Create a new carrier within an organization. The carrier type must be specified and determines which fields are available: - TRUCKLOAD: Includes insurance, safety rating, and FMCSA inspection fields - AIR, CARTAGE, LINEHAUL, LTL, OCEAN, RAIL: Include only base carrier fields Note: In the backend, null carrier type is represented as TRUCKLOAD in the public API. ## Get a carrier by ID - [GET /carriers/{id}](https://docs.mvmnt.io/apis/openapi/carriers/getcarrierbyid.md): Retrieve a single carrier by its unique identifier. The response will include type-specific fields based on the carrier's type: - TRUCKLOAD: Includes insurance, safety rating, and FMCSA inspection fields - AIR, CARTAGE, LINEHAUL, LTL, OCEAN, RAIL: Include only base carrier fields ## Update a carrier - [PATCH /carriers/{id}](https://docs.mvmnt.io/apis/openapi/carriers/updatecarrier.md): Partially update a carrier. Only provided fields will be updated. - Omitted fields: Not modified (current value preserved) - Provided fields: Updated to the new value - Null values: Clear the field (set to null) where applicable The carrier type determines which fields can be updated: - TRUCKLOAD: Can update insurance, safety rating, and FMCSA fields - AIR, CARTAGE, LINEHAUL, LTL, OCEAN, RAIL: Can only update base carrier fields Changing the carrier type will affect which specialized fields are available. ## Delete a carrier - [DELETE /carriers/{id}](https://docs.mvmnt.io/apis/openapi/carriers/deletecarrier.md): Soft delete a carrier (sets deletedAt timestamp). The carrier will no longer appear in default queries but can be retrieved by explicitly filtering for deleted records. ## Search carriers - [POST /carriers/search](https://docs.mvmnt.io/apis/openapi/carriers/searchcarriers.md): Search carriers using OpenSearch-powered full-text and field-specific search. This endpoint searches both: - ONBOARDED carriers: Carriers with profiles in your organization - FMCSA carriers: Public carrier records from FMCSA database Features: - Full-text search across multiple fields - Field-specific filtering with various operators - Sorting and pagination - Saved search preferences Note: Only active (non-deleted) carriers are searchable. Soft-deleted records are automatically excluded from all search results. Response Formats: - flat (default): Returns indexed fields only for faster performance - full: Returns complete carrier objects with all relationships