> For the complete documentation index, see [llms.txt](https://teos-docs.coreledger.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://teos-docs.coreledger.net/guides/assets/create-an-asset.md).

# Create an asset

An asset, often referred to as a **token,** represents a digital artifact on the TEOS platform that can be stored, managed, and verified on blockchain.

This endpoint creates a new asset by providing the required general properties, such as:

* **Author** – the creator of the asset
  * In EVM-compatible networks (e.g., Sparknet, Ethereum, and Polygon), the "Author" is 42 characters long. In non-EVM networks, the address length may differ. For example, on Internet Computer, the "Author" has 63 characters.
* **Name** – the asset name
* **Description** – a brief description of the asset
* **LanguageCode** – the language of the asset
  * An asset can be documented in multiple languages, and Asset.LanguageCode is used as the default language for the asset.\
    The supplied values must match the `Code` property of existing records returned by:
    * `/odata/vx.x/languages`
* **JurisdictionCode** – the legal jurisdiction related to the asset
  * The supplied values must match the `Code` property of existing records returned by:
    * `/odata/vx.x/countries`

Additionally, custom properties can be defined using CustomDefinitionItems to capture asset-specific information.

📘 Learn more about assets -[ link](https://app.gitbook.com/o/ZaeNizhnU47lCcTSk7wB/s/8Gkk33l0DIIchfRT86LP/~/changes/1/resources/using-the-teos-api/concepts/asset)

#### Request Endpoint:

```http
POST /odata/v1.0/Assets
```

#### Parameters

No query parameters.

#### Request Body:

&#x20;`application/json`  — The asset object to create.

| **Parameter**         | **Type** | **Description**                            | **Mandatory** |
| --------------------- | -------- | ------------------------------------------ | ------------- |
| Author                | Body     | The address of the asset creator.          | ✅             |
| Name                  | Body     | The name of the asset.                     | ✅             |
| Description           | Body     | The description of the asset.              | ✅             |
| LanguageCode          | Body     | Language code (ISO 2) of the asset.        | ✅             |
| JurisdictionCode      | Body     | Jurisdiction country code (ISO 2).         | ✅             |
| CustomDefinitionItems | Body     | A list of custom properties for the asset. | ❌             |

#### Example Request Body

```json
{
  "Author": "0xec0744c44d73ccca9c1266b44bef503802c57cac",
  "Name": "NotarDoc",
  "Description": "This is a blockchain record",
  "LanguageCode": "en",
  "JurisdictionCode": "EARTH",
  "CustomDefinitionItems": [
    {
      "Key": "data",
      "Name": "Data",
      "Type": "TEXT",
      "Value": "My Private documentation",
      "SectionsPath": "[documentation]",
      "SectionsPathNames": "[Documentation]"
    }
  ]
```

#### Response Body:

`application/json`  — Returns the asset creation transaction object.

| **Parameter**           | **Description**                                             |
| ----------------------- | ----------------------------------------------------------- |
| Id                      | The transaction ID.                                         |
| State                   | Current state of the transaction.                           |
| BlockchainTransactionId | Blockchain transaction identifier.                          |
| CorrelationId           | Correlation ID of the transaction.                          |
| Type                    | Transaction type (e.g., ActivateAsset).                     |
| OnCreated               | Timestamp when the transaction was created.                 |
| OnUpdated               | Timestamp when the transaction was updated.                 |
| OnSubmitted             | Timestamp when the transaction was submitted to blockchain. |
| OnCommitted             | Timestamp when the transaction was committed.               |
| OnConfirmed             | Timestamp when the transaction was confirmed.               |
| OnRevokedByBlockchain   | Timestamp if revoked by blockchain.                         |
| OnRevokedByUser         | Timestamp if revoked by user.                               |
| OnRevokedByTxServer     | Timestamp if revoked by transaction server.                 |
| SignedBy                | Account/address that signed the transaction.                |
| CreatedBy               | ID of the creator.                                          |
| GasPrice                | Gas price used.                                             |
| GasUsed                 | Amount of gas consumed.                                     |
| DataAsJson              | Transaction data in JSON format.                            |
| SigningParametersAsJson | Signing parameters in JSON format.                          |

#### Example Response Body

```json
{
  "Id": "C0D34D73-6FD3-40F2-A7E1-08D9412448F7",
  "State": "3",
  "BlockchainTransactionId": "0x748ac47e7226cae0e4e13373375f33ab9e4d43ef29d85d233162a7e7e913703b",
  "CorrelationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Type": "ActivateAsset",
  "OnCreated": "2025-10-01T11:48:59.897Z",
  "OnUpdated": "2025-10-01T11:48:59.897Z",
  "OnSubmitted": "2025-10-01T11:48:59.897Z",
  "OnCommitted": "2025-10-01T11:48:59.897Z",
  "OnConfirmed": "2025-10-01T11:48:59.897Z",
  "OnRevokedByBlockchain": "2025-10-01T11:48:59.897Z",
  "OnRevokedByUser": "2025-10-01T11:48:59.897Z",
  "OnRevokedByTxServer": "2025-10-01T11:48:59.897Z",
  "SignedBy": "string",
  "CreatedBy": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "GasPrice": "string",
  "GasUsed": "string",
  "DataAsJson": "string",
  "SigningParametersAsJson": "string"
}
```

#### Response Codes

| **Code** | **Description**                                         |
| -------- | ------------------------------------------------------- |
| 200      | The asset creation transaction was successfully placed. |
| 400      | The asset is invalid. Error details are included.       |
| 401      | Unauthorized.                                           |

\ <br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://teos-docs.coreledger.net/guides/assets/create-an-asset.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
