# Assembly (production): Bimp API methods

URL: https://bimpsoft.com/en/help/developers/api-reference/production-assembly/

Bimp API methods for the “Assembly (production)” resource (`/org2/production-assembly/…`): 4 methods. Base URL: `https://app.bimpsoft.com`. All requests except login pass the company token in the `access-token` header — see [Getting started with the API](/en/help/developers/api-getting-started/).

| Method | What it does |
|---|---|
| [`POST /org2/production-assembly/api-read`](#api-read) | A request to obtain detailed information for a particular production assembly document |
| [`POST /org2/production-assembly/api-readList`](#api-read-list) | A request to view a list of production assembly documents |
| [`POST /org2/production-assembly/api-create`](#api-create) | A request to create a new production assembly document |
| [`POST /org2/production-assembly/api-cancel`](#api-cancel) | Cancel a production assembly document |

## api-read

`POST /org2/production-assembly/api-read`

A request to obtain detailed information for a particular production assembly document

**Request body (JSON)**

| Field | Type | Required | Description |
|---|---|---|---|
| `uuid` | string (uuid) | yes | A unique uuid key for the Production assembly document |

**Response: `data` field**

| Field | Type | Description |
|---|---|---|
| `uuid` | string (uuid) | A unique uuid key for the Production assembly document |
| `date` | string | The document's date in the format 'YYYY-MM-DDTHH:MM:SS' (e.g., '2025-05-16T09:17:49') |
| `number` | string | Production assembly number |
| `comment` | string | An optional text field for any additional notes or comments related to the document |
| `name` | string | Production assembly name |
| `responsible` | string (uuid) | A unique identifier for the Employee, obtainable from the /employee/api-readList request |
| `manufacturer` | string (uuid) | A unique identifier for the Warehouse, obtainable from the /warehouse/api-readList request |
| `organization` | string (uuid) | A unique identifier for the Organization, obtainable from the /organization/api-readList request |
| `productionOrder` | string (uuid) | A unique identifier for the Production order document, obtainable from the /production-order/api-readList request |
| `distributionType` | number (0) \| number (1) | Cost distribution type code |
| `archived` | boolean | Whether the production assembly is archived |
| `counterparty` | string (uuid) | A unique identifier for the Counterparty, obtainable from the /counterparty/api-readList request |
| `products` | object[] | An array of product objects, representing the nomenclatures included in the document |
| `products[].nomenclature` | string (uuid) | A unique identifier for the Nomenclature, obtainable from the /nomenclature/api-readList request |
| `products[].specification` | string (uuid) | A unique identifier for the Specification, obtainable from the /specification/api-readList request |
| `products[].quantity` | number | The amount of items |
| `products[].price` | number | The price of the item/document |
| `products[].totalSum` | number | The sum of the document |
| `products[].uniqueId` | string | Row unique id of the product line |
| `products[].costShare` | number | Cost share |
| `products[].reserve` | number | The amount of the product that has been reserved |
| `products[].imei` | string | IMEI / serial number |
| `materials` | object[] | Materials used in the assembly |
| `materials[].nomenclature` | string (uuid) | A unique identifier for the Nomenclature, obtainable from the /nomenclature/api-readList request |
| `materials[].name` | string | Nomenclature name |
| `materials[].quantity` | number | The amount of items |
| `materials[].warehouse` | string (uuid) | A unique identifier for the Warehouse, obtainable from the /warehouse/api-readList request |
| `materials[].price` | number | The price of the item/document |
| `materials[].totalSum` | number | The sum of the document |
| `materials[].batch` | object \| null | Material batch / lot |
| `materials[].stockBalance` | number | Stock balance on the warehouse |
| `materials[].readyQuantity` | number | Quantity of the finished product |
| `materials[].specificationQuantity` | number | Quantity in the specification |
| `materials[].reserve` | number | The amount of the product that has been reserved |
| `materials[].uniqueId` | string | Row unique id of the material line |
| `materials[].relatesTo` | string | uniqueId of the related product line |
| `materials[].stageId` | string | uniqueId of the related production stage |
| `materials[].unit` | string (uuid) | A unique identifier for the Unit of Measurement, obtainable from the /unitsOfMeasurment/api-readList request |
| `materials[].specification` | string (uuid) | A unique identifier for the Specification, obtainable from the /specification/api-readList request |
| `materials[].netQuantity` | number | Net quantity |
| `materials[].loss` | number | Loss percent |
| `materials[].imei` | string | IMEI / serial number |
| `materials[].isAnalog` | boolean | Whether the material line is an analog |
| `materials[].analogWriteOffMethod` | number | Method of writing off analogs |
| `materials[].product` | string | A GUID of product, representing the nomenclature included in the document |
| `materials[].supplier` | object \| null | A unique identifier for a counterparty of type 'isSupplier'. You can retrieve this UUID using the /counterparty/api-readList request |
| `materials[].contract` | object \| null | The unique identifier for the counterparty's contract, specified in the buyer key. You can retrieve this UUID using the /contract/api-readList request |
| `operationKind` | number | Production operation kind code |
| `useAsTemplate` | boolean | Whether the assembly is used as a template |
| `project` | string (uuid) | A unique identifier for the Project, obtainable from the /project/api-readList request |
| `lineOfBusiness` | string (uuid) | A unique identifier for the Line of Business, obtainable from the /lineOfBusiness/api-readList request |
| `documentType` | string | Document type code |
| `withoutSpecification` | boolean | Whether the assembly is without a specification |
| `productionType` | number (0) \| number (1) \| number (2) | Production type: 0 — own production, 1 — external tolling, 2 — own tolling |
| `author` | string (uuid) | A unique identifier for the Author, obtainable from the /user/api-readList request |
| `banDate` | string \| null | Document ban date, if posting is restricted |
| `banUpsert` | boolean | Whether upsert of the document is banned |
| `materialsList` | object[] | Additional materials list of the assembly |
| `materialsList[].nomenclature` | string (uuid) | A unique identifier for the Nomenclature, obtainable from the /nomenclature/api-readList request |
| `materialsList[].name` | string | Nomenclature name |
| `materialsList[].quantity` | number | The amount of items |
| `materialsList[].warehouse` | string (uuid) | A unique identifier for the Warehouse, obtainable from the /warehouse/api-readList request |
| `materialsList[].price` | number | The price of the item/document |
| `materialsList[].totalSum` | number | The sum of the document |
| `materialsList[].batch` | object \| null | Material batch / lot |
| `materialsList[].stockBalance` | number | Stock balance on the warehouse |
| `materialsList[].readyQuantity` | number | Quantity of the finished product |
| `materialsList[].specificationQuantity` | number | Quantity in the specification |
| `materialsList[].reserve` | number | The amount of the product that has been reserved |
| `materialsList[].uniqueId` | string | Row unique id of the material line |
| `materialsList[].relatesTo` | string | uniqueId of the related product line |
| `materialsList[].stageId` | string | uniqueId of the related production stage |
| `materialsList[].unit` | string (uuid) | A unique identifier for the Unit of Measurement, obtainable from the /unitsOfMeasurment/api-readList request |
| `materialsList[].specification` | string (uuid) | A unique identifier for the Specification, obtainable from the /specification/api-readList request |
| `materialsList[].netQuantity` | number | Net quantity |
| `materialsList[].loss` | number | Loss percent |
| `materialsList[].imei` | string | IMEI / serial number |
| `materialsList[].isAnalog` | boolean | Whether the material line is an analog |
| `materialsList[].analogWriteOffMethod` | number | Method of writing off analogs |
| `materialsList[].product` | string | A GUID of product, representing the nomenclature included in the document |

The full list of fields is in the [interactive documentation](https://app.bimpsoft.com/docs).

```bash
curl -X POST 'https://app.bimpsoft.com/org2/production-assembly/api-read' \
  -H 'access-token: <company token>' \
  -H 'Content-Type: application/json' \
  -d '{"uuid":"00000000-0000-0000-0000-000000000000"}'
```

## api-readList

`POST /org2/production-assembly/api-readList`

A request to view a list of production assembly documents

**Request body (JSON)**

| Field | Type | Required | Description |
|---|---|---|---|
| `pagination` | object | yes |  |
| `pagination.offset` | number | yes | Begin from {offset} elements |
| `pagination.count` | number | yes | Limit of paginated elemets |

**Response: `data` field**

| Field | Type | Description |
|---|---|---|
| `[].uuid` | string (uuid) | A unique uuid key for the Production assembly document |
| `[].name` | string | Production assembly name |
| `[].comment` | string | An optional text field for any additional notes or comments related to the document |
| `[].date` | string | The document's date in the format 'YYYY-MM-DDTHH:MM:SS' (e.g., '2025-05-16T09:17:49') |
| `[].number` | string | Production assembly number |
| `[].manufacturer` | string (uuid) | A unique identifier for the Warehouse, obtainable from the /warehouse/api-readList request |
| `[].responsible` | string (uuid) | A unique identifier for the Employee, obtainable from the /employee/api-readList request |
| `[].organization` | string (uuid) | A unique identifier for the Organization, obtainable from the /organization/api-readList request |

```bash
curl -X POST 'https://app.bimpsoft.com/org2/production-assembly/api-readList' \
  -H 'access-token: <company token>' \
  -H 'Content-Type: application/json' \
  -d '{"pagination":{"offset":0,"count":10}}'
```

## api-create

`POST /org2/production-assembly/api-create`

A request to create a new production assembly document

**Request body (JSON)**

| Field | Type | Required | Description |
|---|---|---|---|
| `productionOrder` | string (uuid) | yes | A unique identifier for the Production order document, obtainable from the /production-order/api-readList request |
| `date` | string |  | The document's date in the format 'YYYY-MM-DDTHH:MM:SS' (e.g., '2025-05-16T09:17:49') |
| `number` | string |  | Production assembly number |
| `responsible` | string (uuid) |  | A unique identifier for the Employee, obtainable from the /employee/api-readList request |
| `comment` | string |  | An optional text field for any additional notes or comments related to the document |
| `manufacturer` | string (uuid) |  | A unique identifier for the Warehouse, obtainable from the /warehouse/api-readList request |
| `operationKind` | number |  | Production operation kind code |
| `useAsTemplate` | boolean |  | Whether the assembly is used as a template |
| `project` | string (uuid) |  | A unique identifier for the Project, obtainable from the /project/api-readList request |
| `lineOfBusiness` | string (uuid) |  | A unique identifier for the Line of Business, obtainable from the /lineOfBusiness/api-readList request |
| `documentType` | string |  | Document type code |
| `withoutSpecification` | boolean |  | Whether the assembly is without a specification |
| `productionType` | number (0) \| number (1) \| number (2) |  | Production type: 0 — own production, 1 — external tolling, 2 — own tolling |
| `author` | string (uuid) |  | A unique identifier for the Author, obtainable from the /user/api-readList request |
| `archived` | boolean |  | Whether the production assembly is archived |
| `distributionType` | number (0) \| number (1) |  | Cost distribution type code |
| `banDate` | string \| null |  | Document ban date, if posting is restricted |
| `banUpsert` | boolean |  | Whether upsert of the document is banned |
| `materials` | object[] |  | Materials used in the assembly |
| `materials[].nomenclature` | string (uuid) | yes | A unique identifier for the Nomenclature, obtainable from the /nomenclature/api-readList request |
| `materials[].name` | string |  | Nomenclature name |
| `materials[].quantity` | number | yes | The amount of items |
| `materials[].warehouse` | string (uuid) |  | A unique identifier for the Warehouse, obtainable from the /warehouse/api-readList request |
| `materials[].price` | number | yes | The price of the item/document |
| `materials[].totalSum` | number | yes | The sum of the document |
| `materials[].batch` | object \| null |  | Material batch / lot |
| `materials[].stockBalance` | number |  | Stock balance on the warehouse |
| `materials[].readyQuantity` | number |  | Quantity of the finished product |
| `materials[].specificationQuantity` | number |  | Quantity in the specification |
| `materials[].reserve` | number |  | The amount of the product that has been reserved |
| `materials[].uniqueId` | string |  | Row unique id of the material line |
| `materials[].relatesTo` | string |  | uniqueId of the related product line |
| `materials[].stageId` | string |  | uniqueId of the related production stage |
| `materials[].unit` | string (uuid) |  | A unique identifier for the Unit of Measurement, obtainable from the /unitsOfMeasurment/api-readList request |
| `materials[].specification` | string (uuid) |  | A unique identifier for the Specification, obtainable from the /specification/api-readList request |
| `materials[].netQuantity` | number |  | Net quantity |
| `materials[].loss` | number |  | Loss percent |
| `materials[].imei` | string |  | IMEI / serial number |
| `materials[].isAnalog` | boolean |  | Whether the material line is an analog |
| `materials[].analogWriteOffMethod` | number |  | Method of writing off analogs |
| `materials[].product` | string |  | A GUID of product, representing the nomenclature included in the document |
| `materials[].supplier` | object \| null |  | A unique identifier for a counterparty of type 'isSupplier'. You can retrieve this UUID using the /counterparty/api-readList request |
| `materials[].contract` | object \| null |  | The unique identifier for the counterparty's contract, specified in the buyer key. You can retrieve this UUID using the /contract/api-readList request |
| `materialsList` | object[] |  | Additional materials list of the assembly |
| `materialsList[].nomenclature` | string (uuid) | yes | A unique identifier for the Nomenclature, obtainable from the /nomenclature/api-readList request |
| `materialsList[].name` | string |  | Nomenclature name |
| `materialsList[].quantity` | number | yes | The amount of items |
| `materialsList[].warehouse` | string (uuid) |  | A unique identifier for the Warehouse, obtainable from the /warehouse/api-readList request |
| `materialsList[].price` | number | yes | The price of the item/document |
| `materialsList[].totalSum` | number | yes | The sum of the document |
| `materialsList[].batch` | object \| null |  | Material batch / lot |
| `materialsList[].stockBalance` | number |  | Stock balance on the warehouse |
| `materialsList[].readyQuantity` | number |  | Quantity of the finished product |
| `materialsList[].specificationQuantity` | number |  | Quantity in the specification |
| `materialsList[].reserve` | number |  | The amount of the product that has been reserved |
| `materialsList[].uniqueId` | string |  | Row unique id of the material line |
| `materialsList[].relatesTo` | string |  | uniqueId of the related product line |
| `materialsList[].stageId` | string |  | uniqueId of the related production stage |
| `materialsList[].unit` | string (uuid) |  | A unique identifier for the Unit of Measurement, obtainable from the /unitsOfMeasurment/api-readList request |
| `materialsList[].specification` | string (uuid) |  | A unique identifier for the Specification, obtainable from the /specification/api-readList request |
| `materialsList[].netQuantity` | number |  | Net quantity |
| `materialsList[].loss` | number |  | Loss percent |
| `materialsList[].imei` | string |  | IMEI / serial number |
| `materialsList[].isAnalog` | boolean |  | Whether the material line is an analog |
| `materialsList[].analogWriteOffMethod` | number |  | Method of writing off analogs |
| `materialsList[].product` | string |  | A GUID of product, representing the nomenclature included in the document |
| `materialsList[].supplier` | object \| null |  | A unique identifier for a counterparty of type 'isSupplier'. You can retrieve this UUID using the /counterparty/api-readList request |
| `materialsList[].contract` | object \| null |  | The unique identifier for the counterparty's contract, specified in the buyer key. You can retrieve this UUID using the /contract/api-readList request |
| `productionStages` | object[] |  | Production stages of the assembly |
| `productionStages[].uniqueId` | string |  | Row unique id of the production stage |
| `productionStages[].relatesTo` | string |  | uniqueId of the related product line |
| `productionStages[].stage` | object \| null |  | Production stage catalog reference |
| `productionStages[].priority` | number |  | Stage priority / order |
| `productionStages[].quantity` | number |  | The amount of items |
| `productionStages[].executionTime` | number |  | Stage execution time |
| `productionStages[].sum` | number |  | The sum of the document |
| `productionOperations` | object[] |  | Production operations of the assembly |
| `productionOperations[].uniqueId` | string |  | Row unique id of the production operation |
| `productionOperations[].relatesTo` | string |  | uniqueId of the related production stage |
| `productionOperations[].technologicalOperation` | object \| null |  | Technological operation catalog reference |
| `productionOperations[].performer` | object \| null |  | A unique identifier for the Employee, obtainable from the /employee/api-readList |
| `productionOperations[].contract` | object \| null |  | The unique identifier for the counterparty's contract, specified in the buyer key. You can retrieve this UUID using the /contract/api-readList request |
| `productionOperations[].executionTime` | number |  | Operation execution time |
| `productionOperations[].quantity` | number |  | The amount of items |
| `productionOperations[].price` | number |  | The price of the item/document |
| `productionOperations[].sum` | number |  | The sum of the document |
| `productionOperations[].readyQuantity` | number |  | Quantity of the finished product |
| `productionOperations[].specificationQuantity` | number |  | Quantity in the specification |
| `productionOperations[].nomenclature` | object \| null |  | A unique identifier for the Nomenclature, obtainable from the /nomenclature/api-readList request |
| `productionOperations[].characteristic` | object \| null |  | Nomenclature characteristic reference |
| `operationDependencies` | object[] |  | Dependencies between production operations |
| `operationDependencies[].uniqueId` | string |  | uniqueId of the dependent production operation |
| `operationDependencies[].relatesTo` | string |  | uniqueId of the related preceding operation |
| `operationDependencies[].previousOperation` | string |  | Previous operation identifier |
| `counterparty` | string (uuid) |  | A unique identifier for the Counterparty, obtainable from the /counterparty/api-readList request |
| `products` | object[] | yes | An array of product objects, representing the nomenclatures included in the document |
| `products[].nomenclature` | string (uuid) | yes | A unique identifier for the Nomenclature, obtainable from the /nomenclature/api-readList request |
| `products[].quantity` | number | yes | The amount of items |
| `products[].specification` | string (uuid) | yes | A unique identifier for the Specification, obtainable from the /specification/api-readList request |
| `products[].uniqueId` | string |  | Row unique id of the product line |
| `products[].price` | number |  | The price of the item/document |
| `products[].totalSum` | number |  | The sum of the document |
| `products[].costShare` | number |  | Cost share |
| `products[].reserve` | number |  | The amount of the product that has been reserved |
| `products[].imei` | string |  | IMEI / serial number |

**Response: `data` field**

| Field | Type | Description |
|---|---|---|
| `uuid` | string (uuid) | A unique uuid key for the Production assembly document |

```bash
curl -X POST 'https://app.bimpsoft.com/org2/production-assembly/api-create' \
  -H 'access-token: <company token>' \
  -H 'Content-Type: application/json' \
  -d '{"productionOrder":"00000000-0000-0000-0000-000000000000","products":[{}]}'
```

## api-cancel

`POST /org2/production-assembly/api-cancel`

Cancel a production assembly document

**Request body (JSON)**

| Field | Type | Required | Description |
|---|---|---|---|
| `uuid` | string (uuid) | yes | A unique uuid key for the production assembly document |

**Response: `data` field**

| Field | Type | Description |
|---|---|---|
| `success` | boolean (true) |  |

```bash
curl -X POST 'https://app.bimpsoft.com/org2/production-assembly/api-cancel' \
  -H 'access-token: <company token>' \
  -H 'Content-Type: application/json' \
  -d '{"uuid":"00000000-0000-0000-0000-000000000000"}'
```

Interactive documentation with a test request option: [https://app.bimpsoft.com/docs](https://app.bimpsoft.com/docs). The OpenAPI specification is updated together with Bimp; this page is generated from it automatically.
