---
title: "Get Close Overview"
method: GET
path: "/companies/{company_id}/closing/overview"
tags: ["closing"]
---

# Get Close Overview

`GET /companies/{company_id}/closing/overview`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/companies/{company_id}/closing/overview`
- Auth: none declared

Every closable scope, oldest first, and where to start.

Status-only: no detector runs here, so a company with years of books still renders in
one cheap pass. ``next_action`` is resolved by evaluating the **one** oldest unfinished
scope, which is the only place work should start.

## Path parameters

- `company_id` string, required

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- CloseOverview: The company's whole closing position, oldest first.
  - `company_id` string, required
  - `as_of` string, date, required
  - `target` string, required
  - `scopes` OverviewScope[]
    - `scope` 'vat_period' | 'gl_period' | 'fiscal_year_close' | 'fiscal_year_opening' | 'payroll_run' | 'payroll_year', required: What is being closed. Stable identifiers: they are path segments, MCP argument values and the SPA's route keys, so renaming one is a contract change.
    - `scope_id` string, required
    - `label` string, required
    - `date_from` string, date, required
    - `date_to` string, date, required
    - `lifecycle_status` string, required
    - `overdue` boolean, required
    - `due_date` string, date, nullable
    - `verdict` 'clean' | 'attention' | 'blocked'
    - `settled` boolean
  - `next_scope` ScopeRef: A pointer to another scope's to-do list (a predecessor, or a contained period).
    - `scope` 'vat_period' | 'gl_period' | 'fiscal_year_close' | 'fiscal_year_opening' | 'payroll_run' | 'payroll_year', required: What is being closed. Stable identifiers: they are path segments, MCP argument values and the SPA's route keys, so renaming one is a contract change.
    - `scope_id` string, required
    - `label` string, required
    - `lifecycle_status` string, required
    - `verdict` 'clean' | 'attention' | 'blocked'
  - `next_action` NextAction, required: The one thing to do next — the answer to "what do I do?". Either an item to fix (the first open one, in process order) or, once nothing is open, the close action itself.
    - `kind` string, required
    - `title` string, required
    - `detail` string
    - `code` string, nullable
    - `route` string, nullable
    - `operations` OperationRef[]
      - `name` string, required
      - `arguments` object
    - `is_close_action` boolean
  - `degraded` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
