# Records Records are actual data instances belonging to a CaraerObject. They contain property values that conform to the object's schema defined by Properties. Records support dynamic relationships via Relations, enabling graph-like data modeling where Records can reference and navigate to related Records. Records can be filtered, sorted, paginated, and displayed in various views (table, flow, page, preview). They support morphing (association with multiple objects), soft deletion with restore capability, and property parsing for formatted display. Records are the core data entities that users create, update, and manage. Each Record has a UUID, belongs to a primary Object, can have morph objects (making it visible in multiple object contexts), and maintains createdAt/updatedAt timestamps. Records enable the platform's dynamic, content-driven data management. ## Update a record - [PUT /api/v2/records/{objectName}/{uuid}](https://developer.caraer.com/apis/records/update.md): Updates a record's details identified by its UUID. The record data is provided as a RecordDTO. Optional parameters 'parse' and 'ignoreErrors' control additional processing. Returns an UpdateResponse with the updated record. Validation: Record properties are validated according to the property rules defined for the object. Each property may have validation rules such as required, type constraints, character limits, uniqueness, etc. ## Morph a record - [POST /api/v2/records/{uuid}/morph](https://developer.caraer.com/apis/records/morph.md): Morphs a record identified by its UUID to one or more objects. You can use this to move a record or add it to another object so it'll be visible in the new object.Returns a SuccessResponse confirming that the record has been morphed. ## Create a new record - [POST /api/v2/records/{objectName}](https://developer.caraer.com/apis/records/create.md): Creates a new record for the specified object using the provided RecordDTO data. Optional parameters 'parse' and 'ignoreErrors' control additional processing. Returns a CreateResponse with the newly created record. Validation: Record properties are validated according to the property rules defined for the object. Each property may have validation rules such as required, type constraints, character limits, uniqueness, etc. ## Create or update a record - [POST /api/v2/records/{objectName}/createOrUpdate](https://developer.caraer.com/apis/records/createorupdate.md): Creates a new record or updates an existing one based on uniqueness criteria for the given object. If a matching record exists, it is updated; otherwise, a new record is created. Returns a CreateResponse or UpdateResponse with the record details. Validation: Record properties are validated according to the property rules defined for the object. Each property may have validation rules such as required, type constraints, character limits, uniqueness, etc. ## Search records - [POST /api/v2/records/search](https://developer.caraer.com/apis/records/search.md): Performs a search for records based on the specified criteria in the request body. Optional query parameters 'deleted' and 'parse' can modify the search behavior. Returns a PaginationResponse containing matching records. ## Create a relation between records - [POST /api/v2/records/relations/{fromUuid}/{relationName}/{toUuid}](https://developer.caraer.com/apis/records/createrelation.md): Creates a relation between two records identified by their UUIDs using the provided relation name. A 'primary' flag can be set to indicate if the relation is primary. ## Delete a relation between records - [DELETE /api/v2/records/relations/{fromUuid}/{relationName}/{toUuid}](https://developer.caraer.com/apis/records/deleterelation.md): Deletes a relation between two records identified by their UUIDs and the relation name. ## Fetch paginated records - [POST /api/v2/records/index](https://developer.caraer.com/apis/records/index.md): Retrieves a paginated list of records. If a preview type is specified in the request, returns records formatted for preview; otherwise, returns full record details. An optional 'parse' query parameter can affect the returned data. ## Fetch records for table view - [POST /api/v2/records/index/table](https://developer.caraer.com/apis/records/indextable.md): Retrieves records formatted for table display. Returns a PaginationResponse containing records formatted for table view. ## Fetch records for page view - [POST /api/v2/records/index/page](https://developer.caraer.com/apis/records/indexpage.md): Retrieves a paginated list of webpages for page view. The search query is temporarily removed from the pagination request and passed separately. Returns a PaginationResponse containing WebpageDTO objects. ## Fetch records for flow view - [POST /api/v2/records/index/flow](https://developer.caraer.com/apis/records/indexflow.md): Retrieves a list of records formatted for flow view based on a specific property. If the property is not provided in the request, defaults to the 'status' property of the main object. Returns a SuccessResponse containing the flow records. ## Get record details - [GET /api/v2/records/{uuid}](https://developer.caraer.com/apis/records/show.md): Retrieves detailed information about a record by its UUID. Returns a ShowResponse containing the record details. ## Delete a record - [DELETE /api/v2/records/{uuid}](https://developer.caraer.com/apis/records/delete.md): Deletes a record specified by its UUID. A 'mode' parameter can be provided to control the deletion behavior (e.g., archive or permanent). ## Restore a deleted record - [PATCH /api/v2/records/{uuid}](https://developer.caraer.com/apis/records/patch.md): Restores a soft-deleted record identified by its UUID. Returns a SuccessResponse confirming that the record has been restored. ## Get record preview - [GET /api/v2/records/{uuid}/previews/{name}](https://developer.caraer.com/apis/records/preview.md): Retrieves a preview for a record specified by its UUID and preview name. Returns a ShowResponse containing the preview data.