# Controls ## Fetches a list of controls with optional filters - [GET /api/v1/controls](https://developer.floqast.app/content/api-reference/openapi/controls/getbulkcontrolsroute.md) ## Inserts new controls up to 20 at a time - [POST /api/v1/controls](https://developer.floqast.app/content/api-reference/openapi/controls/createbulkcontrolsroute.md) ## Fetches control by control mongo ID - [GET /api/v1/controls/{id}](https://developer.floqast.app/content/api-reference/openapi/controls/getsinglecontrolroute.md): If including the optional checklist items and reconciliations, the provided API key must have the Checklists and Reconciliations scopes respectively. ## Updates a control by control mongo ID - [PATCH /api/v1/controls/{id}](https://developer.floqast.app/content/api-reference/openapi/controls/patchsinglecontrolroute.md) ## Deletes an inactive control by control mongo ID - [DELETE /api/v1/controls/{id}](https://developer.floqast.app/content/api-reference/openapi/controls/deletesinglecontrolroute.md) ## Updates a control signature's sign-off status - [PATCH /api/v1/controls/{id}/sign/{signatureId}](https://developer.floqast.app/content/api-reference/openapi/controls/signoffcontrolroute.md) ## Fetches a signed URL for uploading evidence to a control. - [GET /api/v1/controls/{id}/upload-url/{period}](https://developer.floqast.app/content/api-reference/openapi/controls/getuploadurlroute.md): The file key returned from this endpoint should be used in the POST /controls/{id}/documents endpoint to associate the uploaded file with the control. ## Upload a document to a control. - [POST /api/v1/controls/{id}/documents](https://developer.floqast.app/content/api-reference/openapi/controls/postdocumentsroute.md): Uploads a file to the user's storage provider from S3 after the user has uploaded the file to S3 using the presigned URL from GET /controls/{id}/upload-url/{period}. The file will be associated with the specified control and period. ## Lock or unlock a control period - [PATCH /api/v1/controls/{id}/lock/{period}](https://developer.floqast.app/content/api-reference/openapi/controls/lockorunlockcontrolperiodroute.md): Locks or unlocks a specific period of a control. When locked, the control period cannot be modified. This endpoint also locks associated review notes and files (except for Egnyte storage). ## Deactivates one control and unlinks associated risks, tests, and FSLIs/scoping sheets - [PUT /api/v1/controls/{id}/deactivate](https://developer.floqast.app/content/api-reference/openapi/controls/putdeactivatecontrolroute.md) ## Reactivate one control and link associated tests - [PUT /api/v1/controls/{id}/reactivate](https://developer.floqast.app/content/api-reference/openapi/controls/putreactivatecontrolroute.md)