---
title: "Create draft"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.sureshake.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Sureshake API › filings

`POST /v2/filings`

## Request body

_Required._

- `entityId` (`filing-create-draft.entityId`; string, required)
  - format `uuid`
- `schemaType` (`filing-create-draft.schemaType`; string, required)
  - one of `"income_statement"`, `"balance_sheet"`, `"cash_flow_statement"`, `"statement_of_financial_condition"`, `"accounts_receivable_aging"`, `"accounts_payable_aging"`, `"inventory_aging"`, `"customer_concentration"`, `"vendor_concentration"`, `"debt_schedule"`, `"cash_and_bank_summary"`
- `reportingPeriodId` (`filing-create-draft.reportingPeriodId`; string, required)
  - format `uuid`
- `content` (`filing-create-draft.content`; map<unknown>, required)

## Example request

```json
{
  "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  "schemaType": "income_statement",
  "reportingPeriodId": "4d3a574f-0d14-4aef-b0da-4f1f86c93716",
  "content": {
    "property1": null,
    "property2": null
  }
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url https://api.sureshake.com/v2/filings \
  --header 'Content-Type: application/json' \
  --data '
{
  "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  "schemaType": "income_statement",
  "reportingPeriodId": "4d3a574f-0d14-4aef-b0da-4f1f86c93716",
  "content": {
    "property1": null,
    "property2": null
  }
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/filings';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    entityId: '156e622c-6cdf-4c27-9bc9-2f2db69919f5',
    schemaType: 'income_statement',
    reportingPeriodId: '4d3a574f-0d14-4aef-b0da-4f1f86c93716',
    content: {property1: null, property2: null}
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sureshake.com/v2/filings"

payload = {
    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
    "schemaType": "income_statement",
    "reportingPeriodId": "4d3a574f-0d14-4aef-b0da-4f1f86c93716",
    "content": {
        "property1": None,
        "property2": None
    }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 201

Default Response

#### Example

```json
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
    "schemaType": "income_statement",
    "schemaVersion": "string",
    "reportingPeriodId": "4d3a574f-0d14-4aef-b0da-4f1f86c93716",
    "status": "draft",
    "content": {
      "property1": null,
      "property2": null
    },
    "contentHash": "string",
    "chainHash": "string",
    "previousFilingId": "9fc03ee5-508d-4b05-b0f6-b18b684875ec",
    "idempotencyKey": "string",
    "verificationTier": "L0",
    "verificationMeta": {
      "property1": null,
      "property2": null
    },
    "createdBy": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "submittedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
```

- `data` (`filing-create-draft.response.201.data`; object, required)
  - `id` (`filing-create-draft.response.201.data.id`; string, required)
    - format `uuid`
  - `entityId` (`filing-create-draft.response.201.data.entityId`; string, required)
    - format `uuid`
  - `schemaType` (`filing-create-draft.response.201.data.schemaType`; string, required)
    - one of `"income_statement"`, `"balance_sheet"`, `"cash_flow_statement"`, `"statement_of_financial_condition"`, `"accounts_receivable_aging"`, `"accounts_payable_aging"`, `"inventory_aging"`, `"customer_concentration"`, `"vendor_concentration"`, `"debt_schedule"`, `"cash_and_bank_summary"`
  - `schemaVersion` (`filing-create-draft.response.201.data.schemaVersion`; string, required)
  - `reportingPeriodId` (`filing-create-draft.response.201.data.reportingPeriodId`; string, required)
    - format `uuid`
  - `status` (`filing-create-draft.response.201.data.status`; string, required)
    - one of `"draft"`, `"submitted"`, `"verified"`, `"amended"`
  - `content` (`filing-create-draft.response.201.data.content`; map<unknown>, required)
  - `contentHash` (`filing-create-draft.response.201.data.contentHash`; string, required, nullable)
  - `chainHash` (`filing-create-draft.response.201.data.chainHash`; string, required, nullable)
  - `previousFilingId` (`filing-create-draft.response.201.data.previousFilingId`; string, required, nullable)
    - format `uuid`
  - `idempotencyKey` (`filing-create-draft.response.201.data.idempotencyKey`; string, required, nullable)
  - `verificationTier` (`filing-create-draft.response.201.data.verificationTier`; string, required)
    - one of `"L0"`, `"L1"`, `"L2"`
  - `verificationMeta` (`filing-create-draft.response.201.data.verificationMeta`; map<unknown>, required, nullable)
  - `createdBy` (`filing-create-draft.response.201.data.createdBy`; string, required)
  - `createdAt` (`filing-create-draft.response.201.data.createdAt`; string, required)
    - format `date-time`
  - `updatedAt` (`filing-create-draft.response.201.data.updatedAt`; string, required)
    - format `date-time`
  - `submittedAt` (`filing-create-draft.response.201.data.submittedAt`; string, required, nullable)
    - format `date-time`
- `meta` (`filing-create-draft.response.201.meta`; object, optional)
  - `timestamp` (`filing-create-draft.response.201.meta.timestamp`; string, required)
    - format `date-time`

### 400

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.400.error`; object, required)
  - `code` (`filing-create-draft.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.400.error.traceId`; string, optional) — Unique ID for log correlation

### 401

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.401.error`; object, required)
  - `code` (`filing-create-draft.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.401.error.traceId`; string, optional) — Unique ID for log correlation

### 403

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.403.error`; object, required)
  - `code` (`filing-create-draft.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 404

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.404.error`; object, required)
  - `code` (`filing-create-draft.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.404.error.traceId`; string, optional) — Unique ID for log correlation

### 409

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.409.error`; object, required)
  - `code` (`filing-create-draft.response.409.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.409.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.409.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.409.error.traceId`; string, optional) — Unique ID for log correlation

### 422

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.422.error`; object, required)
  - `code` (`filing-create-draft.response.422.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.422.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.422.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.422.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.500.error`; object, required)
  - `code` (`filing-create-draft.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.500.error.traceId`; string, optional) — Unique ID for log correlation

### 503

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`filing-create-draft.response.503.error`; object, required)
  - `code` (`filing-create-draft.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`filing-create-draft.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`filing-create-draft.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`filing-create-draft.response.503.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/filings/create/index.md
