---
title: "Get a contract."
method: GET
path: "/v2/contracts/{contract_id}"
tags: ["Contracts"]
---

# Get a contract.

`GET /v2/contracts/{contract_id}`

## Path parameters

- `contract_id` string, required

## Response `200`

Success.

- Contract
  - `id` string, required — LedgerUp resource identifier.
  - `account_id` string, required — LedgerUp resource identifier.
  - `customer_id` string, uuid, required
  - `stripe_customer_id` string, nullable, required
  - `status` 'draft' | 'active' | 'canceled' | 'expired', required
  - `currency_code` string, required
  - `billing_interval` 'month' | 'quarter' | 'year' | 'one_time' | 'contract_term', required — How often the line is evaluated for billing.
  - `starts_at` integer, required — Unix timestamp in seconds.
  - `ends_at` integer, required — Unix timestamp in seconds.
  - `payment_terms` string, nullable, required
  - `metadata` unknown, required
  - `created_at` integer, required — Unix timestamp in seconds.
  - `updated_at` integer, required — Unix timestamp in seconds.
  - `canceled_at` integer, required — Unix timestamp in seconds.
  - `cancel_at` integer, required — Unix timestamp in seconds.

## Other responses

- `400` — Bad request, invalid header, invalid amount/quantity/currency, or text validation failure.
- `401` — Missing or invalid API key.
- `403` — API key lacks the required permission, or reset was attempted outside the test namespace.
- `408` — Request exceeded the 30 second timeout.
- `429` — Rate limit exceeded.
- `500` — Internal server error or queue failure.

---

[API](https://skmtc.dev/ledgerup/apis/ledgerup-api.md) · [All operations](https://skmtc.dev/ledgerup/apis/ledgerup-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ledgerup/ledgerup-api/revisions/be257191807b/schema)
