---
id: rest-api
title: REST API Reference
sidebar_label: REST API Guide
description: Complete developer reference for GAAPx REST API routes (/api/v1/*), Bearer token authentication, rate limits, and JSON request/response formats.
keywords:
  - GAAPx REST API
  - Revenue recognition API
  - Contract ingestion API
  - ASC 606 API reference
author: GAAPx Engineering Team
last_updated: 2026-10-02
---

# REST API Reference

> **Quick Summary:** The GAAPx REST API enables programmatic contract ingestion, automated billing imports, revenue schedule extraction, and journal entry syncing directly with your backend systems, data pipelines, and ERPs.

---

## Authentication

All REST API requests require a Bearer token in the `Authorization` header:

```http
Authorization: Bearer gx_live_YOUR_SECRET_KEY
Content-Type: application/json
```

Generate API keys at **[Admin > API & MCP Keys](https://app.gaapx.com/admin/api)**.

---

## Core Endpoints

### 1. Ingest Contract
`POST /api/v1/contracts/ingest`

Uploads and parses a new customer contract for ASC 606 treatment.

**Request Payload:**
```json
{
  "customer_name": "Acme Global Industries",
  "contract_number": "CNT-2026-089",
  "start_date": "2026-10-01",
  "end_date": "2027-09-30",
  "currency": "USD",
  "total_amount": 120000,
  "line_items": [
    {
      "name": "Enterprise SaaS Platform",
      "pob_type": "subscription",
      "stated_price": 100000,
      "ssp_price": 100000
    },
    {
      "name": "Implementation & Onboarding",
      "pob_type": "services",
      "stated_price": 20000,
      "ssp_price": 25000
    }
  ]
}
```

---

### 2. Fetch Revenue Waterfall
`GET /api/v1/reports/waterfall?period=2026&granularity=monthly`

Returns the calculated recognized revenue and deferred balance schedule.

---

### 3. List Journal Entries
`GET /api/v1/accounting/journal-entries?period=2026-09&status=approved`

Retrieves formatted journal entry lines ready for ingestion into NetSuite or QuickBooks.
