# Get Reconciliations

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.

Endpoint: GET /api/v1/reconciliations
Version: 1.0.0
Security: x-api-key

## Query parameters:

  - `filter[month]` (string)
    Specifies the month for which the reconciliations should be retrieved. Valid values are the names of the months. Must be used in conjunction with filter[year]. Required if neither filter[modifiedBefore] nor filter[modifiedSince] is provided.
    Example: "march"

  - `filter[year]` (integer)
    Specifies the year for which the reconciliations should be retrieved. It should be a four-digit numerical value. Must be used in conjunction with filter[month]. Required if neither filter[modifiedBefore] nor filter[modifiedSince] is provided.
    Example: 2023

  - `filter[modifiedBefore]` (string)
    Sets the cutoff date for retrieving reconciliations, including only those modified before (but not including) the specified date. The date must be in the format YYYY-MM-DD. While filter[modifiedBefore] is required if filter[month] and filter[year] are not provided, it can also be used in conjunction with these filters for more specific queries.
    Example: "2021-01-01"

  - `filter[modifiedSince]` (string)
    Sets the cutoff date for retrieving reconciliations, including only those modified on or after the specified date. The date must be in the format YYYY-MM-DD. While filter[modifiedSince] is required if filter[month] and filter[year] are not provided, it can also be used in conjunction with these filters for more specific queries.
    Example: "2020-12-31"

  - `filter[entityIds]` (string)
    Comma separated entity ids for which the reconciliations should be retrieved.
    Example: "5e94d5b63f557b001420bbe1,5e94d5b63f557b001420bbe2"

  - `filter[workflowIds]` (string)
    Comma separated workflow ids for which the reconciliations should be retrieved.
    Example: "5e94d5b63f557b001420baa1,5e94d5b63f557b001420baa2"

  - `filter[folderIds]` (string)
    Comma separated folder ids for which the reconciliations should be retrieved.
    Example: "5e94d5b63f557b001420bbf1,5e94d5b63f557b001420bbf2"

  - `filter[journalSource]` (string)
    journalSource for which the reconciliations should be retrieved.
    Example: "SUB_LEDGER"

  - `filter[internalIds]` (string)
    Comma separated gl internalIds for which the reconciliations should be retrieved.
    Example: "123456, 78910"

  - `filter[autoRecType]` (string)
    The type of AutoRec associated with the reconciliation.
    Enum: "NONE", "AUTOREC_MATCHING", "AUTOREC_AMORTIZATION", "AUTOREC_ACCRUAL", "AUTOREC_DEPRECIATION", "AI_MATCHING"

  - `page[size]` (integer)
    The number of items to return. If not specified, the API will return a default of 30,000 items, which is the maximum value.
    Example: 12000

  - `page[cursor]` (string)
    Pagination cursor that indicates the starting position for the next set of items
    Example: "5e94d5b63f557b001420bbe3"

  - `allowRedirect` (boolean)
    If set to true, the API will return a 303 redirect response if the response payload is too large. The header Location and body.data.url will also include the URL to the actual resource.
    Example: true

## Response 200 fields (application/json):

  - `data` (array)
    Array of Reconciliations

  - `data._id` (string)
    Id of reconciliation
    Example: "5e94d5b63f557b001420bbe3"

  - `data.entity` (object)

  - `data.entity._id` (string)
    Id of entity
    Example: "5e94d5b63f557b001420bbe2"

  - `data.entity.name` (string)
    Name of entity
    Example: "John Smith's company"

  - `data.entity.workflow` (object)
    Workflow of entity

  - `data.entity.workflow.name` (string)
    Name of workflow
    Example: "Close"

  - `data.folder` (object)

  - `data.folder.id` (string)
    Id of folder
    Example: "5e94d5b63f557b001420bbe4"

  - `data.folder.name` (string)
    Name of folder
    Example: "Q1 2024 Reconciliations"

  - `data.type` (any)
    Enum: "SINGLE", "GROUPED"

  - `data.name` (string)
    Name of reconciliation
    Example: "1200 Accounts Receivable"

  - `data.updatedAt` (any)
    Date when reconciliation was last updated
    Example: "2024-01-01T00:00:00.000Z"

  - `data.glBalance` (string)
    Balance per general ledger provider
    Example: "39.8"

  - `data.gl` (object)

  - `data.gl.internalId` (string)
    Internal id of general ledger
    Example: "1234"

  - `data.gl.internalPeriod` (string)
    Internal period of general ledger
    Example: "334"

  - `data.gl.provider` (any)
    Provider of general ledger
    Enum: "TB", "NETSUITE", "INTACCT", "QBO", "MSDYNAMICS", "SAP", "XERO", "WORKDAY"

  - `data.gl.TB` (object)
    Populated if provider is TB

  - `data.gl.TB.internalPeriod` (string)
    Example: "334"

  - `data.gl.NETSUITE` (object)
    Populated if provider is NETSUITE

  - `data.gl.NETSUITE.internalPeriod` (string)
    Example: "334"

  - `data.gl.NETSUITE.internalId` (string)
    Example: "1234"

  - `data.gl.NETSUITE.parentCompany` (string)
    Example: "3"

  - `data.gl.NETSUITE.reportingBookId` (string)
    Example: "4"

  - `data.gl.NETSUITE.subsidiaries` (array)
    An empty array means the reconciliation is not filtered by subsidiary. All subsidiaries are required

  - `data.gl.NETSUITE.subsidiaries.name` (string)
    Example: "name"

  - `data.gl.NETSUITE.subsidiaries.internalId` (string)
    Example: "334"

  - `data.gl.INTACCT` (object)
    Populated if provider is INTACCT

  - `data.gl.INTACCT.internalPeriod` (string)
    Example: "334"

  - `data.gl.INTACCT.internalId` (string)
    Example: "1234"

  - `data.gl.INTACCT.reportingBookId` (string)
    Example: "4"

  - `data.gl.INTACCT.adjustmentBookIds` (array)
    Example: ["1234"]

  - `data.gl.INTACCT.excludeReportingBook` (boolean)
    Example: true

  - `data.gl.INTACCT.locations` (array)

  - `data.gl.INTACCT.locations.internalId` (string)
    Example: "1234"

  - `data.gl.INTACCT.locations.name` (string)
    Example: "germany"

  - `data.gl.INTACCT.locations.parentId` (string)
    Example: "1234"

  - `data.gl.INTACCT.locations.excludeChildLocations` (boolean)
    Example: true

  - `data.gl.QBO` (object)
    Populated if provider is QBO

  - `data.gl.QBO.internalPeriod` (string)
    Example: "334"

  - `data.gl.QBO.internalId` (string)
    Example: "1234"

  - `data.gl.MSDYNAMICS` (object)
    Populated if provider is MSDYNAMICS

  - `data.gl.MSDYNAMICS.internalPeriod` (string)
    Example: "334"

  - `data.gl.MSDYNAMICS.internalId` (string)
    Example: "1234"

  - `data.gl.SAP` (object)
    Populated if provider is SAP

  - `data.gl.SAP.internalPeriod` (string)
    Example: "334"

  - `data.gl.SAP.internalId` (string)
    Example: "1234"

  - `data.gl.SAP.currencyType` (string)
    Example: "COMPANY"

  - `data.gl.SAP.ledger` (string)
    Example: "0L"

  - `data.gl.SAP.companyCodes` (array)
    Example: ["1234"]

  - `data.gl.XERO` (object)
    Populated if provider is XERO

  - `data.gl.XERO.internalPeriod` (string)
    Example: "334"

  - `data.gl.XERO.internalId` (string)
    Example: "1234"

  - `data.gl.WORKDAY` (object)
    Populated if provider is WORKDAY and close_recs_dimension_visualization module is enabled

  - `data.gl.WORKDAY.dimensions` (array)

  - `data.gl.WORKDAY.dimensions.type` (string)
    Dimension type
    Example: "worktag-value"

  - `data.gl.WORKDAY.dimensions.parentId` (string)
    Parent dimension ID
    Example: "1234"

  - `data.gl.WORKDAY.dimensions.parentName` (string)
    Parent dimension name
    Example: "Cost Center"

  - `data.gl.WORKDAY.dimensions.values` (array)

  - `data.gl.WORKDAY.dimensions.values.name` (string)
    Dimension value name
    Example: "Singapore"

  - `data.gl.WORKDAY.dimensions.values.internalId` (string)
    Dimension value internal ID
    Example: "1"

  - `data.gl.WORKDAY.dimensions.values.excludeChildLocations` (boolean)
    Whether to exclude child locations

  - `data.currency` (object)

  - `data.currency.code` (string)
    Currency code
    Example: "USD"

  - `data.currency.symbol` (string)
    Currency symbol
    Example: "$"

  - `data.currency.name` (string)
    Currency name
    Example: "US Dollar"

  - `data.currency.decimalDigits` (integer)
    Number of decimal digits
    Example: 2

  - `data.accounts` (array)
    Accounts is only used if the type is GROUPED. Otherwise, it is an empty array

  - `data.accounts.name` (string)
    Name of reconciliation
    Example: "1200 Accounts Receivable"

  - `data.accounts.identifier` (string)
    Account identifier
    Example: "0001"

  - `data.accounts.glBalance` (string)
    Balance per general ledger provider
    Example: "39.8"

  - `data.accounts.gl` (object)
    Populated when close_recs_dimension_visualization and recs_unit_level_balance_filters modules are enabled

  - `data.accounts.gl.dimensions` (array)

  - `data.accounts.gl.dimensions.type` (string)
    Dimension type
    Example: "worktag-value"

  - `data.accounts.gl.dimensions.parentId` (string)
    Parent dimension ID
    Example: "1234"

  - `data.accounts.gl.dimensions.parentName` (string)
    Parent dimension name
    Example: "Cost Center"

  - `data.accounts.gl.dimensions.values` (array)

  - `data.period` (object)

  - `data.period.month` (string)
    Month of period
    Example: "december"

  - `data.period.year` (string)
    Year of period
    Example: "2023"

  - `data.journalSource` (string)
    Indicates whether the reconciliation uses general ledger or subledger balance to reconcile
    Enum: "GENERAL_LEDGER", "SUB_LEDGER"

  - `data.templateId` (string)
    Template Id of reconciliation
    Example: "5e94d5b63f557b001420bbe3"

  - `data.tags` (array)

  - `data.tags.name` (string)
    Name of tag
    Example: "non_close"

  - `data.signatures` (array)

  - `data.signatures.assignedTo` (object)

  - `data.signatures.assignedTo.name` (object)

  - `data.signatures.assignedTo.name.first` (string)
    Example: "John"

  - `data.signatures.assignedTo.name.last` (string)
    Example: "Smith"

  - `data.signatures.assignedTo.email` (string)
    User email address
    Example: "john.smith@example.com"

  - `data.signatures.signedBy` (object)

  - `data.signatures.signedDate` (string)
    Date when reconciliation was signed

  - `data.signatures.dueDate` (string)
    Date when reconciliation is due

  - `data.signatures.estimatedTimeMinutes` (integer)
    Estimated completion time (minutes)
    Example: 90

  - `data.signatures.group` (string)
    Enum: "preparer", "reviewer", "unassigned"

  - `links` (object)

  - `links.self` (string)
    Link to self
    Example: "/api/v1/reconciliations?filter[month]=march&filter[year]=2023&page[size]=1000&page[cursor]=5e94d5b63f557b001420bbe3"

  - `links.next` (string)
    Pagination link pointing to the next page
    Example: "/api/v1/reconciliations?filter[month]=march&filter[year]=2023&page[size]=1000&page[cursor]=63b88f2cb1f05200179e7857"

## Response 303 fields (application/json):

  - `data` (object)

  - `data.url` (string)
    The URL to the new location of the resource.

## Response 400 fields (application/json):

  - `message` (object)
    Reason(s) for the errors related to incorrect query keys or values that are out of bounds

  - `message.errors` (array)

  - `message.errors.field` (string)
    The field that caused the error
    Example: "filter[month]"

  - `message.errors.message` (string)
    The error message
    Example: "filter[month] is required"

  - `name` (string)
    BadRequest
    Example: "BadRequest"

  - `status` (integer)
    The HTTP status code.
    Example: 400

## Response 401 fields (application/json):

  - `message` (string)
    Reason for the error such as incorrect service access, malformed, expired or deactivated token.
    Example: "Invalid token"

  - `name` (string)
    Unauthorized
    Example: "Unauthorized"

  - `status` (integer)
    The HTTP status code.
    Example: 401

## Response 413 fields (application/json):

  - `message` (string)
    Reason for the error related to the payload size
    Example: "Response size is greater than 1MB"

  - `name` (string)
    PayloadTooLarge
    Example: "PayloadTooLarge"

  - `status` (integer)
    The HTTP status code.
    Example: 413


