# section-86

Section 86 reorganization of capital

- Kind: rollover
- Program: Filemark T2 rollover and reorganization preview
- Supported tax years: —
- Strict profile: rollover_preview_exact_v1
- Payload schema version: 8.0.0

## Example request

Send this body to `POST /api/v1/computations/rollovers/section-86`. This example works with or without `payloadContract`.

```json
{
  "inputs": {
    "old_shares": {
      "acb": 100000,
      "puc": 80000,
      "fmv": 150000,
      "isCapitalProperty": true,
      "allSharesOfClassDisposed": true,
      "outlaysAndExpenses": 0,
      "priorS53_2_g1DeductionsAmount": null
    },
    "new_shares": [
      {
        "label": "Cedar Ridge Holdings preferred",
        "fmv": 90000,
        "legalStatedCapital": 60000
      },
      {
        "label": "Cedar Ridge Holdings common",
        "fmv": 50000,
        "legalStatedCapital": 50000
      }
    ],
    "boot": {
      "fmv": 10000
    },
    "party": {
      "issuerResidentInCanada": true,
      "s85ElectionFiled": false,
      "inCourseOfReorganizationOfCapital": true,
      "isRelatedReorganization": false,
      "giftToRelatedPerson": 0
    }
  }
}
```

## Input cells (20)

Paths are relative to the request's `inputs` object. `[]` marks an array element.

Cells marked **always** require a non-null value in every request. Cells marked **strict** are required when you supply this target's `payloadContract`. See [Run computations](https://docs.filemark.ca/run-computations).

Unknown cells and JSON type mismatches return `400` with the affected cells in the error details.

| Cell | Types | Required | Description |
| --- | --- | --- | --- |
| `boot` | array \| boolean \| null \| number \| object \| string |  |  |
| `boot.fmv` | null \| number |  |  |
| `new_shares` | array \| boolean \| null \| number \| object \| string |  |  |
| `new_shares[].fmv` | null \| number |  |  |
| `new_shares[].label` | array \| boolean \| null \| number \| object \| string |  |  |
| `new_shares[].legalStatedCapital` | null \| number |  |  |
| `old_shares` | array \| boolean \| null \| number \| object \| string |  |  |
| `old_shares.acb` | null \| number |  |  |
| `old_shares.allSharesOfClassDisposed` | boolean \| null |  |  |
| `old_shares.fmv` | null \| number |  |  |
| `old_shares.isCapitalProperty` | boolean \| null |  |  |
| `old_shares.outlaysAndExpenses` | null \| number |  |  |
| `old_shares.priorS53_2_g1DeductionsAmount` | null \| number |  |  |
| `old_shares.puc` | null \| number |  |  |
| `party` | array \| boolean \| null \| number \| object \| string |  |  |
| `party.giftToRelatedPerson` | null \| number |  |  |
| `party.inCourseOfReorganizationOfCapital` | boolean \| null |  |  |
| `party.isRelatedReorganization` | boolean \| null |  |  |
| `party.issuerResidentInCanada` | boolean \| null |  |  |
| `party.s85ElectionFiled` | boolean \| null |  |  |

### Strict profile accepted values (13 of 20 cells)

These constraints apply when you supply this target's `payloadContract`. Cells marked **pinned** must equal the listed value. A pinned cell that is not required may be left out.

| Cell | Accepted values |
| --- | --- |
| `boot` | `one of null, false, 0, "", []` |
| `boot.fmv` | `0 to 600000000000` |
| `new_shares` | `one of null, false, 0, "", [], {}` |
| `new_shares[].fmv` | `0 to 600000000000` |
| `new_shares[].legalStatedCapital` | `0 to 600000000000` |
| `old_shares` | `one of null, false, 0, "", []` |
| `old_shares.acb` | `0 to 600000000000` |
| `old_shares.fmv` | `0 to 600000000000` |
| `old_shares.outlaysAndExpenses` | `0 to 600000000000` |
| `old_shares.priorS53_2_g1DeductionsAmount` | `0 to 600000000000` |
| `old_shares.puc` | `0 to 600000000000` |
| `party` | `one of null, false, 0, "", []` |
| `party.giftToRelatedPerson` | `0 to 600000000000` |

## Output cells (49)

Paths are relative to this target's result object in the response.

| Cell | Types | Description |
| --- | --- | --- |
| `blocking` | boolean |  |
| `boot` | null \| object |  |
| `boot.cost` | number |  |
| `boot.fmv` | number |  |
| `citations[].description` | string |  |
| `citations[].key` | string |  |
| `citations[].section` | string |  |
| `citations[].source_url` | string |  |
| `citations[].verified_at` | string |  |
| `citationsApplied[]` | string |  |
| `deemedDividend84_3` | null \| number |  |
| `giftToRelatedPerson` | null \| number |  |
| `newShares` | array \| null |  |
| `newShares[].costAcb` | number |  |
| `newShares[].fmv` | number |  |
| `newShares[].label` | array \| boolean \| null \| number \| object \| string |  |
| `newShares[].legalStatedCapital` | number |  |
| `newShares[].pucFinal` | number |  |
| `newShares[].pucGrind` | number |  |
| `newShares[].s86_4Adjustment` | null \| number |  |
| `oldShares` | null \| object |  |
| `oldShares.acb` | number |  |
| `oldShares.fmv` | number |  |
| `oldShares.gainTriggered` | number |  |
| `oldShares.lossDeemedNil` | boolean |  |
| `oldShares.outlaysAndExpenses` | number |  |
| `oldShares.proceedsOfDisposition` | number |  |
| `oldShares.puc` | number |  |
| `provisional` | boolean |  |
| `ready` | boolean |  |
| `rolloverDeferred` | boolean |  |
| `s86_2Applies` | boolean \| null |  |
| `totalNewShareCost` | null \| number |  |
| `totalProceeds` | null \| number |  |
| `totalPucGrind` | null \| number |  |
| `totalS86_4Adjustment` | null \| number |  |
| `traps[].body` | string |  |
| `traps[].citationKey` | string |  |
| `traps[].filingDisposition` | string |  |
| `traps[].findingCode` | string |  |
| `traps[].severity` | string |  |
| `traps[].title` | string |  |
| `warnings[]` | object |  |
| `warnings[].citationKey` | string |  |
| `warnings[].code` | string |  |
| `warnings[].message` | string |  |
| `warnings[].severity` | string |  |
| `warnings[].filingDisposition` | string |  |
| `warnings[].findingCode` | string |  |
