# Traits Traits are behavioral features that can be added to CaraerObjects to extend their functionality without modifying the core schema. Common traits include Flow (kanban-style workflow management), Table (tabular data display with sorting and filtering), Page (enables Records to have public-facing Webpages), and User (enables user authentication and user profile Records). Traits are composable - an Object can have multiple traits enabled simultaneously. Traits extend object functionality by adding specific behaviors, UI components, and capabilities. For example, the Flow trait adds workflow state management, the Table trait adds list view capabilities, and the Page trait enables CMS functionality. Traits enable flexible feature composition where objects can be customized with different capabilities based on business needs. ## Fetch a specific trait for an object - [GET /api/v2/traits/{objectUuid}/{traitName}](https://developer.caraer.com/apis/traits/gettrait.md): Retrieves details of a specific trait associated with the specified object, identified by the trait name. Returns a ShowResponse containing the TraitDTO. If the trait is not found, a NotFoundError is thrown. ## Create or update a trait for an object - [POST /api/v2/traits/{objectUuid}/{traitName}](https://developer.caraer.com/apis/traits/createtrait.md): Creates a new trait or updates an existing trait for the specified object. The trait name is provided in the URL, and trait details are supplied in the request body as a JSON map. If a trait with the specified name exists, it will be updated; otherwise, a new trait is created. Returns a CreateResponse containing the TraitDTO of the created or updated trait. ## Delete a trait from an object - [DELETE /api/v2/traits/{objectUuid}/{traitName}](https://developer.caraer.com/apis/traits/deletetrait.md): Removes a trait identified by its name from the specified object. Returns a DeleteResponse confirming that the trait has been removed. ## Fetch all traits for an object - [GET /api/v2/traits/{objectUuid}](https://developer.caraer.com/apis/traits/gettraits.md): Retrieves a list of traits associated with the specified object. Returns a paginated response containing TraitDTO objects. The page is set to 0 by default, with a maximum limit of 100.