---
title: "Poll depth chart generation result"
method: POST
path: "/v1/depth-chart/poll"
tags: ["Company info"]
---

# Poll depth chart generation result

`POST /v1/depth-chart/poll`

Retrieves the employee breakdown started by the `depth-chart/start` endpoint. Pass the report ID you received when you started the report. Returns the current status and, once complete, numerical counts of employees grouped by department, seniority, or both, plus a printable markdown summary in tabular format — useful for CLI output or for LLMs building reports. Returns summary stats per bucket, not the individual people in each bucket.

<span>⚡ <strong>Rate limit:</strong> 120 requests per 1 minute</span>

<span>💰 <strong>Cost:</strong> FREE! No credits are charged for this API.&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `reportId` string, required — Report ID returned by the /depth-chart/start endpoint

## Response `200`

Default Response

- object
  - `output` union, required
    - object
      - `status` 'pending', required — Report is still being generated
    - object
      - `status` 'completed', required — Report generation succeeded
      - `report` object, required — The completed depth chart report
        - `reportId` string, required — Unique identifier for this report
        - `companyInfo` object, required — Company identification details
          - `name` string, nullable — Company name
          - `linkedinUrl` string, nullable — Full LinkedIn company profile URL
          - `linkedinOrgId` string, nullable — LinkedIn organization ID for the company
          - `domain` string, nullable — Company primary domain
        - `totalEmployees` number, required — Total number of classified employees in the depth chart
        - `averageTenureMonths` number, nullable, required — Overall average tenure in months across all employees
        - `buckets` object[], required — One entry per function x seniority combination with headcount and average tenure. Includes summary stats for each bucket, but does not list the people in each bucket.
          - `function` string, required — Functional area (e.g. Engineering, Sales/GTM, Marketing, Product)
          - `seniority` string, required — Seniority level (Junior, Mid-Level, Senior, Manager, Executive)
          - `totalEmployees` number, required — Number of employees in this function x seniority combination
          - `averageTenureMonths` number, nullable, required — Average tenure in months for employees in this combination
        - `seniorityStats` object[], required — Aggregated headcount and tenure per seniority level
          - `seniority` string, required — Seniority level (Junior, Mid-Level, Senior, Manager, Executive)
          - `totalEmployees` number, required — Total employees at this seniority level
          - `averageTenureMonths` number, nullable, required — Average tenure in months across all functions at this seniority level
        - `functionStats` object[], required — Aggregated headcount and tenure per functional area
          - `function` string, required — Functional area (e.g. Engineering, Sales/GTM, Marketing)
          - `totalEmployees` number, required — Total employees in this function
          - `averageTenureMonths` number, nullable, required — Average tenure in months across all seniority levels in this function
        - `markdownSummary` string, required — Human-readable markdown summary of the depth chart, including a grid table of employee counts by function and seniority
    - object
      - `status` 'failed', required — Report generation failed
      - `errorMessage` string, required — Description of why generation failed
  - `chargeInfo` union, required
    - object — Credits were charged immediately for this operation
      - `method` 'charged-now', required
      - `creditsCharged` number, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits will be charged after the operation completes
      - `method` 'charging-later', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits that were charged for an asynchronous operation
      - `method` 'charged-for-async-process', required
      - `creditsCharged` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — No credits were charged for this operation
      - `method` 'free', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits were refunded for this operation
      - `method` 'credits-refunded', required
      - `creditsRefunded` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
  - `warnings` object[], nullable — Warnings about extraneous fields in request
    - `field` string, required — Full path to extraneous field (e.g., 'searchParams.ExtraField')
    - `message` string, required — Warning message
  - `advice` string[], nullable — Tips, recommendations, and suggestions for using this API effectively.

## Other responses

- `400` — Default Response
- `401` — Default Response
- `402` — Default Response
- `403` — Default Response
- `404` — Default Response
- `422` — Default Response
- `429` — Default Response
- `500` — Default Response
- `503` — Default Response

---

[API](https://skmtc.net/fiber/apis/fiber-ai-api.md) · [All operations](https://skmtc.net/fiber/apis/fiber-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fiber/fiber-ai-api/versions/0c537984b99f/schema)
