# Repzo API - Proforma

OpenAPI specification for Repzo Proforma endpoints.

**Version:** 1.0.0

## Overview

### Base URLs

- \*\*\*\*: `https://sv.api.repzo.me`

## Authentication

No authentication required.

## Endpoints

### `/proforma`

#### GET /proforma

**Summary:** Find proformas

##### Parameters

| Name | Location | Type | Required | Description |
| ---- | -------- | ---- | -------- | ----------- |

| `params` | query | object | No | Query parameters for filtering proformas |

##### Responses

**200** - A list of proformas

Content-Type: `application/json`

---

#### POST /proforma

**Summary:** Create a proforma

##### Request Body

**Content Types:**

- `application/json`

##### Responses

**201** - Proforma created

Content-Type: `application/json`

---

### `/proforma/{id}`

#### GET /proforma/{id}

**Summary:** Get a proforma by ID

##### Parameters

| Name | Location | Type | Required | Description |
| ---- | -------- | ---- | -------- | ----------- |

| `id` | path | string | Yes | No description |

##### Responses

**200** - Proforma details

Content-Type: `application/json`

---

#### PUT /proforma/{id}

**Summary:** Update a proforma

##### Parameters

| Name | Location | Type | Required | Description |
| ---- | -------- | ---- | -------- | ----------- |

| `id` | path | string | Yes | No description |

##### Request Body

**Content Types:**

- `application/json`

##### Responses

**200** - Proforma updated

Content-Type: `application/json`

---

## Data Models

### ProformaFindResult

| Property | Type | Required | Description |
| -------- | ---- | -------- | ----------- |

| `data` | array | No | No description |

| `meta` | object | No | No description |

### ProformaCreateBody

| Property | Type | Required | Description |
| -------- | ---- | -------- | ----------- |

| `serial` | string | No | No description |

| `client` | string | No | No description |

| `rep` | string | No | No description |

| `warehouse` | string | No | No description |

| `items` | array | No | No description |

| `total` | number | No | No description |

| `status` | string | No | No description |

| `validUntil` | string | No | No description |

### ProformaCreateResult

| Property | Type | Required | Description |
| -------- | ---- | -------- | ----------- |

| `data` | object | No | No description |

### ProformaGetResult

| Property | Type | Required | Description |
| -------- | ---- | -------- | ----------- |

| `data` | object | No | No description |

### ProformaUpdateBody

| Property | Type | Required | Description |
| -------- | ---- | -------- | ----------- |

| `serial` | string | No | No description |

| `client` | string | No | No description |

| `rep` | string | No | No description |

| `warehouse` | string | No | No description |

| `items` | array | No | No description |

| `total` | number | No | No description |

| `status` | string | No | No description |

| `validUntil` | string | No | No description |

### ProformaUpdateResult

| Property | Type | Required | Description |
| -------- | ---- | -------- | ----------- |

| `data` | object | No | No description |

### Proforma

| Property | Type | Required | Description |
| -------- | ---- | -------- | ----------- |

| `_id` | string | No | No description |

| `serial` | string | No | No description |

| `client` | string | No | No description |

| `rep` | string | No | No description |

| `warehouse` | string | No | No description |

| `items` | array | No | No description |

| `total` | number | No | No description |

| `status` | string | No | No description |

| `validUntil` | string | No | No description |

| `createdAt` | string | No | No description |

| `updatedAt` | string | No | No description |

## TypeScript Usage

See [proforma-examples.md](./proforma-examples.md) for detailed TypeScript usage examples.
