# FloQast External API

Version: 1.0.0

## Servers

US Region
```
https://fq-api.floqast.app
```

EU Region
```
https://fq-api.eu.floqast.app
```

AU Region
```
https://fq-api.au.floqast.app
```

## Security

### x-api-key

Type: apiKey
In: header
Name: x-api-key

## Download OpenAPI description

[FloQast External API](https://developer.floqast.app/_bundle/api-reference/@v1/openapi.yaml)

## Checklists

Create, update, and sign close checklists.

### Create a new checklist item

 - [POST /api/v1/checklists](https://developer.floqast.app/api-reference/openapi/checklists/createchecklist.md)

### Get Checklists

 - [GET /api/v1/checklists](https://developer.floqast.app/api-reference/openapi/checklists/getchecklists.md): This API endpoint enables fetching a collection of checklists performed during a specific month and year. By providing the desired month and year as parameters, the API response narrows down the results to the exact period, facilitating the analysis of financial data and tracking the progress of checklist efforts.

### Put Checklist

 - [PUT /api/v1/checklists/{checklistId}](https://developer.floqast.app/api-reference/openapi/checklists/putchecklist.md): This API endpoint updates a checklist item.

### Post Checklist Signatures

 - [POST /api/v1/checklists/{checklistId}/sign](https://developer.floqast.app/api-reference/openapi/checklists/postchecklistsignatures.md): This API endpoint updates the signature status of a checklist.

## Checklist Analytics

Aggregate status and completion metrics.

### Get Checklist Analytics

 - [GET /api/v1/analytics/checklists](https://developer.floqast.app/api-reference/openapi/checklist-analytics/getchecklistanalytics.md): This API endpoint enables fetching a collection of checklists performed during a specific month and year. By providing the desired month and year as parameters, the API response narrows down the results to the exact period, facilitating the analysis of financial data and tracking the progress of checklist efforts." And also include information about TLCs.

## Folders

Lock and manage folder state.

### Get metadata about a folder by Id

 - [GET /api/v1/folders/{folderId}](https://developer.floqast.app/api-reference/openapi/folders/getfolderbyid.md): This API endpoint provides metadata about a folder.

### Updates a folder's lock state by Id.

 - [PUT /api/v1/folders/{folderId}/locking](https://developer.floqast.app/api-reference/openapi/folders/patchlockfolderbyid.md): This API endpoint updates the lock state of a folder.

## Reconciliations

Retrieve, sign off, and audit reconciliations.

### Get Reconciliations

 - [GET /api/v1/reconciliations](https://developer.floqast.app/api-reference/openapi/reconciliations/getreconciliations.md): This API endpoint enables fetching a collection of reconciliations performed during a specific month and year. By providing the desired month and year as parameters, the API response narrows down the results to the exact period, facilitating the analysis of financial data and tracking the progress of reconciliation efforts." And also include information about TLCs.

### Post Reconciliation Signatures

 - [POST /api/v1/reconciliations/{reconciliationId}/signoff](https://developer.floqast.app/api-reference/openapi/reconciliations/postreconciliationsignatures.md): This API endpoint updates the signature status of a reconciliation.

## Reconciliation Analytics

Aggregate recon completion and cycle metrics.

### Get Reconciliation Analytics

 - [GET /api/v1/analytics/reconciliations](https://developer.floqast.app/api-reference/openapi/reconciliation-analytics/getreconciliationanalytics.md): This API endpoint enables fetching a collection of reconciliations performed during a specific month and year. By providing the desired month and year as parameters, the API response narrows down the results to the exact period, facilitating the analysis of financial data and tracking the progress of reconciliation efforts." And also include information about TLCs.

## Controls

Create, lock, sign, and deactivate controls.

### Fetches a list of controls with optional filters

 - [GET /api/v1/controls](https://developer.floqast.app/api-reference/openapi/controls/getbulkcontrolsroute.md)

### Inserts new controls up to 20 at a time

 - [POST /api/v1/controls](https://developer.floqast.app/api-reference/openapi/controls/createbulkcontrolsroute.md)

### Fetches control by control mongo ID

 - [GET /api/v1/controls/{id}](https://developer.floqast.app/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/api-reference/openapi/controls/patchsinglecontrolroute.md)

### Deletes an inactive control by control mongo ID

 - [DELETE /api/v1/controls/{id}](https://developer.floqast.app/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/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/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/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/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/api-reference/openapi/controls/putdeactivatecontrolroute.md)

### Reactivate one control and link associated tests

 - [PUT /api/v1/controls/{id}/reactivate](https://developer.floqast.app/api-reference/openapi/controls/putreactivatecontrolroute.md)

## Processes

List and manage workflow processes.

### Get Processes

 - [GET /api/v1/processes](https://developer.floqast.app/api-reference/openapi/processes/getprocesses.md): This API endpoint enables fetching a collection of processes. By providing the desired name or programId as parameters, the API response narrows down the results to the specified process.

## Programs

Retrieve compliance programs and scope.

### Get Compliance Programs

 - [GET /api/v1/programs](https://developer.floqast.app/api-reference/openapi/programs/paths/~1api~1v1~1programs/get.md): Retrieves a paginated list of compliance programs with optional filtering and includes.

## Chart Of Accounts

List and upload chart of accounts.

### Get Chart Of Accounts Data

 - [GET /api/v1/chart-of-accounts](https://developer.floqast.app/api-reference/openapi/chart-of-accounts/getchartofaccounts.md): This API endpoint returns chart of accounts data used in FloQast.

### Upload Chart Of Accounts Data

 - [PUT /api/v1/chart-of-accounts/upload](https://developer.floqast.app/api-reference/openapi/chart-of-accounts/putchartofaccounts.md): This API endpoint takes chart of accounts data and uploads it to a user’s FloQast tenant. Use this endpoint for operations such as adding, editing, and removing accounts inside of FloQast.

## Trial Balance

Upload trial balances for reconciliation.

### Upload Trial Balance Data

 - [PUT /api/v1/trial-balance/upload](https://developer.floqast.app/api-reference/openapi/trial-balance/puttrialbalanceupload.md): This API endpoint takes trial balance data and uploads it to a user's FloQast tenant. Use this endpoint to assign or update trial balance values for each account in a given entity and period.

## Transactions

Upload, update, and query transaction detail.

### Update Subledgers

 - [PUT /api/v1/transactions/subledgers](https://developer.floqast.app/api-reference/openapi/transactions/putsubledgers.md): This endpoint takes a list of FloQast reconciliation IDs and updates the subledger balance for each.

### Update Transactions

 - [PUT /api/{version}/transactions](https://developer.floqast.app/api-reference/openapi/transactions/puttransactions.md): This endpoint takes a reconciliationId and a corresponding ledger type and updates each provided transaction. In the case of General Ledger Transactions, it also takes a unique entityId.

### Delete Transactions

 - [DELETE /api/v1/transactions/{reconciliationId}](https://developer.floqast.app/api-reference/openapi/transactions/deletetransactions.md): This endpoint takes a reconciliationId and deletes all subledger transactions tied to it.

### Get Status

 - [GET /api/v1/transactions/status/{statusId}](https://developer.floqast.app/api-reference/openapi/transactions/getstatus.md): This endpoint takes an ID of an endpoint event and returns the status of the event.

## Audit Report

Read the workspace audit log.

### Get Audit Report logs

 - [GET /api/v1/audit-trail](https://developer.floqast.app/api-reference/openapi/audit-trail/getaudittrail.md): This API endpoint retrieves audit logs for all API keys within a top-level client, providing a comprehensive overview of usage. It supports querying logs for a specific user's API key ID to facilitate focused analysis.

## Entities

Manage legal entities and hierarchies.

### Get Entities

 - [GET /api/v1/entities](https://developer.floqast.app/api-reference/openapi/entities/getentities.md): This API endpoint enables fetching a collection of entities within a given FloQast tenant. Optional query parameters can either narrow the API response or provide pagination functionality.

### Get Entity by ID

 - [GET /api/v1/entities/{id}](https://developer.floqast.app/api-reference/openapi/entities/getexample.md): This API endpoint enables fetching a single specific entity with its unique identifier.

## Authenticated User

Retrieve the authenticated user profile.

### Current user and token information

 - [GET /api/v1/me](https://developer.floqast.app/api-reference/openapi/authenticated-user/getme.md): Get information about the current user and token

## Guest Users

Provision external guest access.

### Get Guest Users

 - [GET /api/v1/guest-users](https://developer.floqast.app/api-reference/openapi/guest-users/getguestusers.md): This API endpoint enables fetching a collection of guest users. By providing the desired email as parameter, the API response narrows down the results to the specified guest user.

## Tags

Attach metadata to resources.

### Get Tags

 - [GET /api/v1/tags](https://developer.floqast.app/api-reference/openapi/tags/gettags.md): This API endpoint retrieves tags under a TLC

### Tag Attachments

 - [PUT /api/v1/tags/attachments](https://developer.floqast.app/api-reference/openapi/tags/puttag.md): This endpoint attaches or detaches a tag to/from a reconciliation. When attaching, if the specified tag does not exist, it will be created and then attached automatically.

## Users

Manage workspace users.

### Get Users

 - [GET /api/v1/users](https://developer.floqast.app/api-reference/openapi/users/getusers.md): This endpoint returns users who have current or historical shared workspace access with the user who the API key belongs to.

## User Groups

Manage user group memberships.

### Get All User Groups

 - [GET /api/v1/user-groups](https://developer.floqast.app/api-reference/openapi/user-groups/getallusergroups.md): Returns user groups accessible to the requesting tenant. Supports pagination
and optional redirect handling for large payloads.

