Issue & Transfer
to issue or issue+transfer SRR
POST
<base_url>/port/api/v1/commerce/srrs
Please replace <base_url>
as explained here.
Precaution
Multiple issuance
Feel free to include more than one issuance in a single request via the payload
array. The minimum number of issue requests is one. Though there is no fixed upper limit for the number of issue requests you can submit at one time, we recommend limiting batches to no more than 250 issue requests for optimal processing.
issue to issuer
If payload[*].to is not given, your SRR will be issued to your luw
address
Headers
Name | Type | Description |
---|---|---|
commerce-api-key* | string | Commerce API Key |
issuer-address* | string | Contract Address of API Key owner |
Request Body
Name | Type | Description |
---|---|---|
requestId | string | A * |
payload* | array | Array of issue requests. Further constraints explained above. |
payload[*].externalId* | string | An ID to identify the record in your system. We recommend to use UUID, but it can use any string as long it is unique in your system. |
payload[*].metadata* | object | The metadata to be issued as a complex object. Detailed schema specification can be found here. The API accepts versions 2.0 and higher. |
payload[*].artistAddress* | string | The ethereum address of the artist of the artwork. |
payload[*].isPrimaryIssuer* | boolean | If you are the primary issuer of this NFT, set this to true. |
payload[*].lockExternalTransfer* | boolean | If you want to prevent your NFTs to be transferred on decentralized marketplaces, set this to true. |
payload[*].to | string | Ethereum address target the NFT should be sent to after minting (Issue on Buyer). If none is given the NFT will be minted into your LUW by default. |
payload[*].attachmentFiles | Array<object> | Attachment files that will be included in SRR. |
payload[*].attachmentFiles[*].name | string | The name of file. This is used for when the file is downloaded or shown. The extension is recommended to be the same as the actual uploaded file. |
payload[*].attachmentFiles[*].category | string | Please refer to this page to understand the difference among the categories. Please note that contract terms and thumbnail are NOT attachment files. The URL for contract terms and thumbnail are needed for metadata. (See metadata attribute) |
payload[*].attachmentFiles[*].url | string | For the time being, the URL must be under Startbahn's GCS bucket. This can include finalUrl's that is the field in the response of the singed URL endpoint or a URL that has already been prepared for the client by Startbahn's team. Any other URL will result to rejecting the request without issuing the SRR |
payload[*].collectionAddress | string | The address of collection that the SRR will belong to. This collection must be owned by the caller |
The API responds with 201. see Response Body results[*].status for details of each entry.
Body Attribute | Description | Format |
---|---|---|
results | results of the request | Array |
results[*].srr | Detail of the SRR. Please check example for detailed information. | object |
results[*].externalId | ID to identify the SRR. Defined by client when calling. | string |
results[*].status | string |
After a successful issuance, 2 types of JSONs will be returned in results[*].srr.metadata
:
json
It is converted from the
originalJson
. The object contains some values that are different from those that are written on chain. This json is meant to be easier for consumption on third party applications and it is maintained for backward compatibility. For example if anipfs
link exists in the metadata, this json converts it to anhttps
link for easier consumption.originalJson
It is equal to what is written on chain. So if you want to consume this field, some carings are needed. For example it can contain
ipfs
links likeipfs://
that requires conversion before a browser can display it.
* both of the above JSONs may be different from what originally sent in the request payload.
Swagger Endpoint (Test Environment)
Required Permissions
Check the parent page.
Request Body Example
Code Example
Check parent page.
If you have a TAG for a physical artwork please add
chipUIDs
and startbahnCertICTagUIDs both at the same time and they both need to contain the same value. The value is an array containing the list of the Chip UIDs. For example
Last updated