# Forms Forms are dynamic data collection interfaces associated with CaraerObjects. They use a grid-based layout system with FormItems (GridItems) arranged in rows and columns that can render various field types based on Property definitions. Forms support multi-step wizards, lead scoring configurations, styling options (standard, underline, plain), and form submissions that create Records. Forms enable public-facing data collection (e.g., job applications, contact forms, candidate registrations) and can be embedded in Webpages. Forms validate input against Property validation rules and can include nested forms (inner forms) for complex data structures. Form submissions trigger FormSubmissionEvents and can create Relations between Records. Forms are essential for converting external user input into structured Records in the platform. ## Get form by UUID - [GET /api/v2/forms/{formUuid}](https://developer.caraer.com/apis/forms/getform.md): Retrieves a specific form by its UUID. Returns the details of the form in a FormDTO object wrapped in a ShowResponse. ## Update an existing form - [PUT /api/v2/forms/{formUuid}](https://developer.caraer.com/apis/forms/updateform.md): Updates an existing form identified by its UUID with the provided data. The request body should include the updated fields in a FormDTO. Returns the updated form wrapped in an UpdateResponse. Validation: Form fields are validated according to the Form validation rules. Required fields and format constraints are enforced. ## Delete a form - [DELETE /api/v2/forms/{formUuid}](https://developer.caraer.com/apis/forms/deleteform.md): Deletes a form identified by its UUID. On success, returns the deleted form's data wrapped in a DeleteResponse. ## Get forms by object UUID - [POST /api/v2/forms/{objectUuid}/index](https://developer.caraer.com/apis/forms/getformsbyobject.md): Retrieves a paginated list of forms associated with a specific object UUID. The endpoint uses a custom Cypher query to match forms linked to the object. ## Submit a file - [POST /api/v2/forms/public/{companyUuid}/{formUuid}/upload](https://developer.caraer.com/apis/forms/uploadfiles.md): Submits a file with the provided data. Returns a SuccessResponse upon successful submission. ## Submit a form - [POST /api/v2/forms/public/{companyUuid}/{formUuid}/submit](https://developer.caraer.com/apis/forms/submit.md): Submits a form with the provided data. Returns a SuccessResponse upon successful submission. ## Get all forms for a company - [POST /api/v2/forms/public/{companyUuid}/index](https://developer.caraer.com/apis/forms/getformspublic.md) ## Get paginated list of forms - [POST /api/v2/forms/index](https://developer.caraer.com/apis/forms/getforms.md): Retrieves a paginated list of forms based on the provided filters, sorting, and search query. This endpoint returns a list of FormDTO objects wrapped in a PaginationResponse containing the current page, limit, total count, and the forms data. ## Create a new form - [POST /api/v2/forms/](https://developer.caraer.com/apis/forms/createform.md): Creates a new form with the provided data. The request body should contain a valid FormDTO object. On success, returns the created form as a FormDTO wrapped in a CreateResponse. Validation: Form fields are validated according to the Form validation rules. Required fields and format constraints are enforced. ## Get form by UUID - [GET /api/v2/forms/public/{companyUuid}/{formUuid}](https://developer.caraer.com/apis/forms/getformpublic.md): Retrieves a specific form by its UUID. Returns the details of the form in a FormDTO object wrapped in a ShowResponse.