---
title: "Quarterly history, GW reservations and conversions, contract liabilities, Vertiv deferred revenue. (institutional tier, not yet live)"
method: GET
path: "/pro/book-to-bill/history.json"
tags: ["institutional"]
---

# Quarterly history, GW reservations and conversions, contract liabilities, Vertiv deferred revenue. (institutional tier, not yet live)

`GET /pro/book-to-bill/history.json`

## Request

- Base URL: `https://open-factory.com/api/v1`
- URL: `https://open-factory.com/api/v1/pro/book-to-bill/history.json`
- Auth: HTTP bearer

## Response `200`

OK, once the dataset is live. Needs a institutional key.

- Envelope
  - `api` 'v1', required
  - `tier` 'free' | 'pro' | 'institutional', required
  - `description` string, required
  - `as_of` string, nullable: Newest dated source or data point in the response, YYYY-MM-DD.
  - `generated_at` string, date-time, required
  - `source` unknown
  - `license` object, required
  - `attribution` string, required
  - `docs` string, uri, required

## Other responses

- `401`: Missing or invalid key.
- `402`: Key is below the required tier; the body names where to upgrade.
- `501`: Key accepted, dataset not yet served; the body says so.

---

[API](https://skmtc.dev/open-factory/apis/open-factory-api.md) · [All operations](https://skmtc.dev/open-factory/apis/open-factory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/open-factory/apis/open-factory-api/revisions/f814e09bec6f?raw)
