elv-live
EluvioLive CLI
Usage: elv-live <command>
Global options
| Option | Type | Required | Description |
|---|---|---|---|
-m, --main | Sets ELV_NET=main | ||
-d, --dv3, --demov3 | Sets ELV_NET=demov3 | ||
--test | Sets ELV_NET=test | ||
--dev | Sets ELV_NET=dev | ||
--verbose, -v | boolean | Verbose mode | |
--as_url | string | Alternate authority service URL (include '/as/' route if necessary) |
Commands
| Command | Description |
|---|---|
nft_show | Show info on this NFT |
nft_balance_of | Call NFT ownerOf - determine if this is an owner |
nft_refresh | Synchronize backend listings with fabric metadata for a specific tenant's NFT. Requires tenant Key. |
nft_transfer | Transfer the specified NFT as the token owner |
transfer_errors | Show tenant transfer failures. Used to identify payments collected on failed transfers. |
nft_proxy_transfer | Transfer NFT as a proxy owner |
nft_proxy_transfer_batch | Transfer NFT as a proxy owner in batches |
nft_build | Build the public/nft section based on asset metadata. If --nft_dir is specified, will build a generative nft based on *.json files inside the dir. See README.md for more details. |
nft_set_proxy | Set a proxy on an NFT contract |
nft_pack_get_dist | Compute pack distribution based on NFT Template spec. Saves to file. |
nft_pack_set_dist | Set the pack distribution for an NFT Template. Reads distribution from file. |
nft_burn | Burn the specified NFT as the owner |
nft_proxy_burn | Burn the specified NFT by transferring it to 0x...0dead via the Authority Service |
nft_set_transfer_fee | Set the base transfer fee on the NFT contract |
nft_get_transfer_fee | Get the base transfer fee of the NFT contract |
nft_add_contract | Add a new or existing NFT contract to an NFT Template object |
nft_add_offer | Add a redeemable offer to the NFT contract as the contract owner or minter |
nft_remove_offer | Remove (disable) a redeemable offer from the NFT contract as the contract owner or minter |
nft_offer_redeemed | Returns true if offer is redeemed |
nft_offer_active | Returns true if offer is active |
nft_redeem_offer | Redeem an nft offer |
as_nft_redeem_offer | Redeem an nft offer using the authority service |
nft_get_policy_permissions | Gets the policy and permissions of a content object. |
nft_set_policy_permissions | Sets the policy and permissions granting NFT owners access to a content object. When no addresses are specified, only the policy is set. |
nft_set_policy_addresses | Sets the NFT contract addresses granting NFT owners access to a content object, leaving the existing policy unchanged. |
nft_set_policy_permissions_batch | Batch version of nft_set_policy_permissions. Reads content object IDs from file and sets the specified policy and permissions. |
tenant_show | Show info on this tenant |
tenant_auth_token | Generate a tenant token |
tenant_auth_curl | Generate a tenant token and use it to call a baseTenantAuth authd endpoint. |
tenant_path_auth_curl | Generate a tenant token and use it to call a tenantPathAuth authd endpoint. |
tenant_set_token_uri | Set the token URI for a single token, a batch (CSV), or all tokens of a tenant NFT contract |
tenant_update_token_uri | Update the token URIs of all tokens in a tenant NFT contract to a new NFT template object hash |
tenant_balance_of | Show NFTs owned by this owner in this tenant using contracts. |
fabric_tenant_balance_of | Show NFTs owned by this owner in this tenant by using the Fabric EluvioLive object tree. |
site_show | Show info on this site/event |
site_set_drop | Set drop dates for a site/event |
tenant_tickets_generate | Generate tickets for a given tenant OTP ID |
tenant_mint | Mint a marketplace NFT by SKU as tenant admin |
tenant_primary_sales | Show tenant primary sales history |
tenant_secondary_sales | Show tenant secondary sales history |
tenant_sales | Show tenant sales history |
tenant_sessions | Export CSV file of session data from the analytics API for a given tenant and time range |
tenant_wallets | Show the wallets associated with this tenant |
tenant_nft_remove | Removes the nft address from the tenant contract |
tenant_nft_list | List all tenant_nfts within a tenant contract |
tenant_has_nft | Searches tenant_nfts list in tenant contract and returns true if exists |
tenant_add_consumers | Adds address(es) to the tenant's consumer group |
tenant_remove_consumer | Removes consumer from tenant consumer group |
tenant_has_consumer | Returns true or false if addr is in the tenant consumer group |
marketplace_add_item | Adds an item to a marketplace |
marketplace_add_item_batch | Adds multiple items to a marketplace |
marketplace_remove_item | Removes an item from a marketplace |
storefront_section_add_item | Adds an item to a marketplace storefront section |
storefront_section_remove_item | Removes an item from a marketplace storefront section |
tenant_provision | Provision a new tenancy with standard media libraries and content types. |
tenant_add_consumer_group | Deploys a BaseTenantConsumerGroup and adds it to this tenant's contract. |
tenant_get_minter_config | Gets the minter configuration for this tenant key |
tenant_create_minter_config | Creates the minter configuration for this tenant key |
tenant_replace_minter_config | Replaces the minter configuration for this tenant key |
tenant_deploy_helper_contracts | Deploys the minter helper and transfer proxy contracts using the authority service as the minter. Specify option proxy or minthelper to only deploy that specific contract. |
tenant_delete_minter_config | Deletes the minter configuration for this tenant key |
tenant_publish_data | Submits the new version hash of the tenant Fabric object for validation. The top level Eluvio Live object link will be updated if there are no errors. |
notif_send | Sends a notification (using the notification service). |
notif_send_token_update | Sends a TOKEN_UPDATED notification to all owners of this NFT. |
account_create | Create a new account -> mnemonic, address, private key |
account_show | Shows current account information. |
payment_contract_create | Deploy a payment contract for revenue split. |
payment_contract_show | Show status of payment contract stakeholders. |
payment_release | Retrieve payment from payment splitter contract as a payee or for a payee using --payee flag |
token_contract_create | Deploy elv token contract |
token_transfer | Transfer given elv tokens to address provided |
token_balance_of | Get the token balance of a given user |
token_add_minter | Add minter or mint helper address to NFT or Token |
token_renounce_minter | Renounce the minter(msg.sender) from NFT or Token |
token_is_minter | check if minter to NFT or Token |
content_set_policy | Set the policy on an existing content object. This also sets the delegate on the object contract to itself. |
content_set_policy_delegate | Set the policy delegate on the object contract. |
content_get_policy | Get the content object policy from the object metadata and the delegate from the object's contract meta |
content_clear_policy | Remove content object policy from the object metadata and the delegate from the object's contract meta |
list | List the Eluvio Live Tenants |
create_wallet_account | create a wallet account and send tenant-branded email (sysadmin key required) |
shuffle | Sort each line deterministically based on the seed |
admin_health | Checks the health of the Authority Service APIs. Note the current key must be a system admin configured in the AuthD servers. |
otp | NTP instance (OTP) management commands |
otp create | Create a new NTP instance (class 4 ticket system) |
otp update | Update parameters of an existing NTP instance |
otp suspend | Suspend an NTP instance (all tickets will be considered expired) |
otp delete | Delete an NTP instance (cannot be undone) |
otp list | List NTP instances for a tenant |
otp show | Show info on an NTP instance |
otp report | Show report on an NTP instance |
otp status | Check the status of an NTP ticket |
otp issue_code | Issue a single NTP ticket code |
otp issue_signed_code | Issue a signed NTP ticket code (signed by the current user) |
otp redeem_code | Redeem an NTP ticket code to authorize the client |
otp generate_codes | Generate multiple NTP ticket codes in bulk |
otp make_embed_urls | Generate embed URLs for a set of NTP codes |
Command reference
nft_show
elv-live nft_show <addr> [options]
Show info on this NFT
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT address (hex) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--check_minter | Check that all NFTs use this mint helper | ||
--show_owners | integer | Show up to these many owners (default 0), loaded from an index. Only used when token_id is not specified. | |
--show_owners_via_contract | integer | Show up to these many owners (default 0), parsed directly from the contract. Only used when token_id is not specified. | |
--include_email | string | Include owner(s) email(s) when available, as bound to the given tenant ID. | |
--token_id | string | External token ID. This will take precedence over show_owners. |
nft_balance_of
elv-live nft_balance_of <addr> <owner>
Call NFT ownerOf - determine if this is an owner
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT address (hex) |
owner | string | ✓ | Owner address to check (hex) |
nft_refresh
elv-live nft_refresh <tenant> <addr>
Synchronize backend listings with fabric metadata for a specific tenant's NFT. Requires tenant Key.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
addr | string | ✓ | NFT contract address |
nft_transfer
elv-live nft_transfer <addr> <token_id> <to_addr> [options]
Transfer the specified NFT as the token owner
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | Local NFT contract address |
token_id | string | ✓ | External token ID |
to_addr | string | ✓ | Address to transfer to (hex) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--auth_service | Use the Authority Service to do the transfer |
transfer_errors
elv-live transfer_errors <tenant>
Show tenant transfer failures. Used to identify payments collected on failed transfers.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
nft_proxy_transfer
elv-live nft_proxy_transfer <addr> <token_id> <from_addr> <to_addr>
Transfer NFT as a proxy owner
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT address (hex) |
token_id | integer | ✓ | Token Id |
from_addr | string | ✓ | Address to transfer from (hex) |
to_addr | string | ✓ | Address to transfer to (hex) |
nft_proxy_transfer_batch
elv-live nft_proxy_transfer_batch <input_file>
Transfer NFT as a proxy owner in batches
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
input_file | string | ✓ | CSV file with values: addr, tokenId, fromAddr, toAddr |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--concurrency | number of concurrent operations (default: 5) | ||
--batch_size | size of each batch (default:20) | ||
--verbose | boolean | enable debug |
nft_build
elv-live nft_build <object> [options]
Build the public/nft section based on asset metadata. If --nft_dir is specified, will build a generative nft based on *.json files inside the dir. See README.md for more details.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | Content object hash (hq__) or id (iq__) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--nft_dir | string | Create a multi-media NFT (generative). Directory contains json files describing the nft. See documentation to see *.json structure. |
nft_set_proxy
elv-live nft_set_proxy <addr> [proxy_addr]
Set a proxy on an NFT contract
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT address (hex) |
proxy_addr |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--proxy_addr | string | Proxy contract address (hex) |
nft_pack_get_dist
elv-live nft_pack_get_dist <hash>
Compute pack distribution based on NFT Template spec. Saves to file.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
hash | string | ✓ | NFT Template content hash (hq__) |
nft_pack_set_dist
elv-live nft_pack_set_dist <hash>
Set the pack distribution for an NFT Template. Reads distribution from file.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
hash | string | ✓ | NFT Template content hash (hq__) |
nft_burn
elv-live nft_burn <addr> <token_id>
Burn the specified NFT as the owner
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | Local NFT contract address |
token_id | string | ✓ | External token ID |
nft_proxy_burn
elv-live nft_proxy_burn <addr> <token_id> [from_addr] [tenant] [options]
Burn the specified NFT by transferring it to 0x...0dead via the Authority Service
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | Local NFT contract address |
token_id | string | ✓ | External token ID |
from_addr | string | Current owner address (hex); looked up from the contract if omitted | |
tenant | string | Tenant ID (iten...); looked up via contract address if omitted |
nft_set_transfer_fee
elv-live nft_set_transfer_fee <addr> <fee>
Set the base transfer fee on the NFT contract
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
fee | string | ✓ | Fee in ETH |
nft_get_transfer_fee
elv-live nft_get_transfer_fee <addr>
Get the base transfer fee of the NFT contract
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
nft_add_contract
elv-live nft_add_contract <tenant> <object> <cap> <name> <symbol> [options]
Add a new or existing NFT contract to an NFT Template object
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
object | string | ✓ | NFT Template object ID |
cap | number | ✓ | NFT total supply cap |
name | string | ✓ | NFT collection name |
symbol | string | ✓ | NFT collection symbol |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--hold | number | Hold period in seconds (default 7 days) |
nft_add_offer
elv-live nft_add_offer <addr>
Add a redeemable offer to the NFT contract as the contract owner or minter
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
nft_remove_offer
elv-live nft_remove_offer <addr> <offer_id>
Remove (disable) a redeemable offer from the NFT contract as the contract owner or minter
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
offer_id | integer | ✓ | Offer ID |
nft_offer_redeemed
elv-live nft_offer_redeemed <addr> <token_id> <offer_id>
Returns true if offer is redeemed
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
token_id | integer | ✓ | NFT token ID |
offer_id | integer | ✓ | Offer ID |
nft_offer_active
elv-live nft_offer_active <addr> <offer_id>
Returns true if offer is active
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
offer_id | integer | ✓ | Offer ID |
nft_redeem_offer
elv-live nft_redeem_offer <addr> <redeemer> <token_id> <offer_id>
Redeem an nft offer
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
redeemer | string | ✓ | Redeemer address |
token_id | integer | ✓ | NFT token ID |
offer_id | integer | ✓ | Offer ID |
as_nft_redeem_offer
elv-live as_nft_redeem_offer <addr> <tenant> <mint_helper_addr> <token_id> <offer_id>
Redeem an nft offer using the authority service
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT contract address |
tenant | string | ✓ | Tenant ID |
mint_helper_addr | string | ✓ | Address of the mint helper (hex), used with --auth_service |
token_id | integer | ✓ | NFT token ID |
offer_id | integer | ✓ | Offer ID |
nft_get_policy_permissions
elv-live nft_get_policy_permissions <object>
Gets the policy and permissions of a content object.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | ID of the content fabric object |
nft_set_policy_permissions
elv-live nft_set_policy_permissions <object> <policy_path> [addrs..]
Sets the policy and permissions granting NFT owners access to a content object. When no addresses are specified, only the policy is set.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | ID of the content object to grant access to |
policy_path | string | ✓ | Path of policy object file |
addrs... | string | List of space separated NFT contract addresses to set. Calling multiple times with a new list will replace the existing. |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--clear | boolean | Clear all NFT contract addresses from the content object. No addresses need to be specified when using this flag. Default: false |
nft_set_policy_addresses
elv-live nft_set_policy_addresses <object> [addrs..]
Sets the NFT contract addresses granting NFT owners access to a content object, leaving the existing policy unchanged.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | ID of the content object to grant access to |
addrs... | string | List of space separated NFT contract addresses to set. Replaces the existing list unless --append is used. |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--clear | boolean | Clear all NFT contract addresses from the content object. Default: false | |
--append | boolean | Append the addresses to the existing list instead of replacing it. Default: false |
nft_set_policy_permissions_batch
elv-live nft_set_policy_permissions_batch <object_list> <policy_path> [addrs..]
Batch version of nft_set_policy_permissions. Reads content object IDs from file and sets the specified policy and permissions.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object_list | string | ✓ | Path to a file with one content object ID per line |
policy_path | string | ✓ | Path of policy object file |
addrs... | string | List of space separated NFT contract addresses to set. Calling multiple times with a new list will replace the existing. |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--clear | boolean | clear the nft owners Default: false |
tenant_show
elv-live tenant_show <tenant> [options]
Show info on this tenant
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--check_nfts | boolean | Check that all NFTs are part of the tenant contract's tenant_nfts group |
tenant_auth_token
elv-live tenant_auth_token <path_or_body>
Generate a tenant token
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
path_or_body | string | ✓ | URL path or request body |
tenant_auth_curl
elv-live tenant_auth_curl <url_path> [post_body]
Generate a tenant token and use it to call a baseTenantAuth authd endpoint.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
url_path | string | ✓ | URL path |
post_body | string | either json body for POST, or '' for GET |
tenant_path_auth_curl
elv-live tenant_path_auth_curl <url_path> [post_body]
Generate a tenant token and use it to call a tenantPathAuth authd endpoint.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
url_path | string | ✓ | URL path |
post_body | string | either json body for POST, or '' for GET |
tenant_set_token_uri
elv-live tenant_set_token_uri <request_type> <tenant> <contract_address> <new_token_uri> [options]
Set the token URI for a single token, a batch (CSV), or all tokens of a tenant NFT contract
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
request_type | string | ✓ | Request Type (single, batch, all) |
tenant | string | ✓ | Tenant ID |
contract_address | string | ✓ | NFT contract address |
new_token_uri | string | ✓ | New token URI; ignored if CSV batch, use - |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--token_id | number | Optional Token ID; required for single request type | |
--csv | string | CSV file for batch request type |
tenant_update_token_uri
elv-live tenant_update_token_uri <tenant> <addr> <hash> [options]
Update the token URIs of all tokens in a tenant NFT contract to a new NFT template object hash
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
addr | string | ✓ | NFT contract address |
hash | string | ✓ | New NFT template object hash |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--dry_run | boolean | Only show the changes without submitting them (default: true) |
tenant_balance_of
elv-live tenant_balance_of <tenant> <owner>
Show NFTs owned by this owner in this tenant using contracts.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
owner | string | ✓ | Owner address (hex) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--csv | string | File path to output csv |
fabric_tenant_balance_of
elv-live fabric_tenant_balance_of <object> <owner> [options]
Show NFTs owned by this owner in this tenant by using the Fabric EluvioLive object tree.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | Tenant-level EluvioLive object ID |
owner | string | ✓ | Owner address (hex) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--max_results | integer | Show up to these many results (default 0 = unlimited) |
site_show
elv-live site_show <library> <object>
Show info on this site/event
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
library | string | ✓ | Site library |
object | string | ✓ | Site object ID |
site_set_drop
elv-live site_set_drop <library> <object> <uuid> <start_date> [options]
Set drop dates for a site/event
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
library | string | ✓ | Site library |
object | string | ✓ | Site object ID |
uuid | string | ✓ | Drop UUID |
start_date | string | ✓ | Event start date (ISO format) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--end_date | string | Event end date (ISO format) | |
--end_vote | string | Event vote end date (ISO format) | |
--start_mint | string | Event start mint date (ISO format) | |
--new_uuid | boolean | Assign a new UUID | |
--update | string | Tenant-level EluvioLive object to update |
tenant_tickets_generate
elv-live tenant_tickets_generate <tenant> <otp>
Generate tickets for a given tenant OTP ID
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | OTP ID (including prefix) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--quantity | integer | Specify how many to generate (default 1) | |
--emails | string | File containing one email per line (or any user identifier). Generate codes bound to these identifiers | |
--embed_url_base | string | Generate embed URLs for each ticket based on this template | |
--otp_class | integer | Use authority services (class 5) or contract (class 4) (default 5) |
tenant_mint
elv-live tenant_mint <tenant> <marketplace> <sku> <addr>
Mint a marketplace NFT by SKU as tenant admin
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
marketplace | string | ✓ | Marketplace ID |
sku | string | ✓ | NFT marketplace SKU |
addr | string | ✓ | Target address to mint to |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--quantity | integer | Specify how many to mint (default 1) |
tenant_primary_sales
elv-live tenant_primary_sales <tenant> <marketplace>
Show tenant primary sales history
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
marketplace | string | ✓ | Marketplace ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--processor | string | Payment processor: eg. stripe, coinbase, eluvio. Omit for all. Default: | |
--csv | string | File path to output csv | |
--offset | number | Offset in months to dump data where 0 is the current month Default: 1 | |
--admin | boolean | Use the Admin API endpoint to resolve this query instead of the tenant API. This is required for inactive marketplaces. Default: false |
tenant_secondary_sales
elv-live tenant_secondary_sales <tenant>
Show tenant secondary sales history
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--processor | string | Payment processor: eg. stripe, coinbase, eluvio. Omit for all. Default: | |
--csv | string | File path to output csv | |
--offset | number | Offset in months to dump data where 0 is the current month Default: 1 |
tenant_sales
elv-live tenant_sales <tenant>
Show tenant sales history
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--processor | string | Payment processor: eg. stripe, coinbase, eluvio. Omit for all. Default: | |
--csv | string | File path to output csv | |
--offset | number | Offset in months to dump data where 0 is the current month Default: 1 |
tenant_sessions
elv-live tenant_sessions <tenant> <start_ts> <end_ts> <filename>
Export CSV file of session data from the analytics API for a given tenant and time range
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
start_ts | int | ✓ | start timestamp (seconds since epoch) |
end_ts | int | ✓ | end timestamp (seconds since epoch) |
filename | string | ✓ | filename to output csv |
tenant_wallets
elv-live tenant_wallets <tenant> [options]
Show the wallets associated with this tenant
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--csv | string | File path to output csv | |
--max_results | integer | Show up to these many results (default 0 = unlimited) |
tenant_nft_remove
elv-live tenant_nft_remove <tenant> <addr>
Removes the nft address from the tenant contract
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
addr | string | ✓ | NFT Address |
tenant_nft_list
elv-live tenant_nft_list <tenant>
List all tenant_nfts within a tenant contract
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
tenant_has_nft
elv-live tenant_has_nft <tenant> <addr>
Searches tenant_nfts list in tenant contract and returns true if exists
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
addr | string | ✓ | NFT Address |
tenant_add_consumers
elv-live tenant_add_consumers <group_id> [addrs..]
Adds address(es) to the tenant's consumer group
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
group_id | string | ✓ | Tenant consumer group ID |
addrs... |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--addrs | string | Addresses to add |
tenant_remove_consumer
elv-live tenant_remove_consumer <group_id> <addr>
Removes consumer from tenant consumer group
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
group_id | string | ✓ | Tenant consumer group ID |
addr | string | ✓ | Address to remove |
tenant_has_consumer
elv-live tenant_has_consumer <group_id> <addr>
Returns true or false if addr is in the tenant consumer group
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
group_id | string | ✓ | Tenant consumer group ID |
addr | string | ✓ | Address to check |
marketplace_add_item
elv-live marketplace_add_item <marketplace> <object> <name> [price] [forSale]
Adds an item to a marketplace
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | ✓ | Marketplace object ID |
object | string | ✓ | NFT Template object hash (hq__) or id (iq__) |
name | ✓ | Item name | |
price | number | Price to list for | |
forSale | boolean | Whether to show for sale Default: true |
marketplace_add_item_batch
elv-live marketplace_add_item_batch <marketplace> <csv>
Adds multiple items to a marketplace
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | ✓ | Marketplace object ID |
csv | string | ✓ | CSV file containing object ID's and marketplace item name. Expects first row to be header row with columns ordered as object, name |
marketplace_remove_item
elv-live marketplace_remove_item <marketplace> <object>
Removes an item from a marketplace
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | ✓ | Marketplace object ID |
object | string | ✓ | NFT Template object ID (iq__) |
storefront_section_add_item
elv-live storefront_section_add_item <marketplace> <sku> [section]
Adds an item to a marketplace storefront section
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | ✓ | Marketplace object ID |
sku | string | ✓ | Marketplace item SKU |
section | string | Storefront section name |
storefront_section_remove_item
elv-live storefront_section_remove_item <marketplace> <sku> [writeToken]
Removes an item from a marketplace storefront section
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
marketplace | string | ✓ | Marketplace object ID |
sku | string | ✓ | Marketplace item SKU |
writeToken | string | Write token (if not provided, object will be finalized) |
tenant_provision
elv-live tenant_provision <tenant> <slug> [options]
Provision a new tenancy with standard media libraries and content types.
Run as the tenant root key, as created by space_tenant_create. This is a multi-step operation,
and intermediate status is saved in the local directory in the file tenant_status.json using --status flag.
The operation can be resumed by specifying a status file, which indicates the operations
that have already been executed.
Funds transferred (default):
* tenant ops created: 10 elv
* content ops created: 10 elv
* faucet funding address: 20 elv
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
slug | string | ✓ | Tenant Slug |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--name | string | Tenant name | |
--status | string | Path to the JSON File for existing tenant provision config | |
--init_config | boolean | Displays the initial provisioning config, which can be used to input existing objects Default: false |
tenant_add_consumer_group
elv-live tenant_add_consumer_group <tenant>
Deploys a BaseTenantConsumerGroup and adds it to this tenant's contract.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
tenant_get_minter_config
elv-live tenant_get_minter_config <tenant> [options]
Gets the minter configuration for this tenant key
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
tenant_create_minter_config
elv-live tenant_create_minter_config <tenant> [options]
Creates the minter configuration for this tenant key
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--funds | integer | How much to fund the minter and proxy addresses. Default: 0 (do not fund) | |
--deploy | boolean | Deploy a new minter helper contract as the minter using the Authority Service. Default: false |
tenant_replace_minter_config
elv-live tenant_replace_minter_config <tenant> [options]
Replaces the minter configuration for this tenant key
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--proxy_owner | string | Replace proxy owner ID (eg. ikms..). Note that the key must already be stored in the Authority Service to use this. | |
--minter | string | Replace minter ID (eg. ikms..). Note that the key must already be stored in the Authority Service to use this. | |
--mint_helper | string | Replace minter helper address (hex). The minter must be the owner of this contract. | |
--proxy | string | Replace the transfer proxy address (hex). The proxy owner must be the owner of this contract. | |
--mint_shuffle_key | string | Replace the mint shuffle key (ikms). The secret must be already stored in the Authority Service | |
--legacy_shuffle_seed | string | Replace the legacy shuffle seed (use '0' to disable). | |
--purge | bool | Purge will delete the keys first before replacing |
tenant_deploy_helper_contracts
elv-live tenant_deploy_helper_contracts <tenant> [options]
Deploys the minter helper and transfer proxy contracts using the authority service as the minter. Specify option proxy or minthelper to only deploy that specific contract.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--mint_helper | bool | Deploy mint helper contract. | |
--proxy | bool | Deploy Proxy contract. |
tenant_delete_minter_config
elv-live tenant_delete_minter_config <tenant> [options]
Deletes the minter configuration for this tenant key
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--force | boolean | Attempt to delete all keys even on error |
tenant_publish_data
elv-live tenant_publish_data <tenant> <content_hash> [options]
Submits the new version hash of the tenant Fabric object for validation. The top level Eluvio Live object link will be updated if there are no errors.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
content_hash | string | ✓ | Version hash of the new tenant media-wallet settings object; ignored if --media-wallet=false |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--media_wallet | boolean | indicates if this is a media-wallet-enabled tenant; default: true Default: true | |
--update_links | boolean | Update links on your tenant Fabric object | |
--env | string | Environment to use, 'staging' or 'production' (default: production) |
notif_send
elv-live notif_send <user_addr> <tenant> <event>
Sends a notification (using the notification service).
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
user_addr | string | ✓ | User address |
tenant | string | ✓ | Tenant ID |
event | string | ✓ | One of: TOKEN_UPDATED |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--nft_addr | string | NFT contract address (hex) Default: | |
--token_id | string | NFT token ID Default: | |
--notif_url | string | Notification service URL Default: |
notif_send_token_update
elv-live notif_send_token_update <nft_addr> <tenant>
Sends a TOKEN_UPDATED notification to all owners of this NFT.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
nft_addr | string | ✓ | NFT contract address (hex) |
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--notif_url | string | Notification service URL Default: |
account_create
elv-live account_create <funds> <account_name> <tenant_admins>
Create a new account -> mnemonic, address, private key
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
funds | string | ✓ | How much to fund the new account from this private key in ETH. |
account_name | string | ✓ | Account Name |
tenant_admins | string | ✓ | Tenant Admins group ID |
account_show
elv-live account_show
Shows current account information.
payment_contract_create
elv-live payment_contract_create addresses shares
Deploy a payment contract for revenue split.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addresses | string | ✓ | List of stake holder addresses (hex), comma separated |
shares | string | ✓ | List of stake holder shares, comma separated (one for each address) |
payment_contract_show
elv-live payment_contract_show addr token_addr
Show status of payment contract stakeholders.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | Address of the payment contract (hex) |
token_addr | string | ✓ | Address of the ERC20 token contract (hex) |
payment_release
elv-live payment_release addr token_addr
Retrieve payment from payment splitter contract as a payee or for a payee using --payee flag
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | Address of the payment contract (hex) |
token_addr | string | ✓ | Address of the ERC20 token contract (hex) |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--payee | string | payee address Default: |
token_contract_create
elv-live token_contract_create <name> <symbol> <decimals> <amount> [options]
Deploy elv token contract
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
name | string | ✓ | elv_token name |
symbol | string | ✓ | elv_token symbol |
decimals | number | ✓ | elv_token decimals |
amount | number | ✓ | elv_token premint amount |
token_transfer
elv-live token_transfer <token_addr> <to_addr> <amount> [options]
Transfer given elv tokens to address provided
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
token_addr | string | ✓ | elv_token address |
to_addr | string | ✓ | to address |
amount | number | ✓ | transfer amount |
token_balance_of
elv-live token_balance_of <token_addr> <user_addr> [options]
Get the token balance of a given user
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
token_addr | string | ✓ | elv_token address |
user_addr | string | ✓ | user address |
token_add_minter
elv-live token_add_minter <addr> <minter>
Add minter or mint helper address to NFT or Token
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT or Token address (hex) |
minter | ✓ |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--minter | string | Minter or mint helper address (hex) |
token_renounce_minter
elv-live token_renounce_minter <addr>
Renounce the minter(msg.sender) from NFT or Token
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT or Token address (hex) |
token_is_minter
elv-live token_is_minter <addr> <minter>
check if minter to NFT or Token
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
addr | string | ✓ | NFT or Token address (hex) |
minter | ✓ |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--minter | string | Minter address (hex) |
content_set_policy
elv-live content_set_policy <object> <policy_path> [data]
Set the policy on an existing content object. This also sets the delegate on the object contract to itself.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | ID of the content object |
policy_path | string | ✓ | Path to the content object policy file (eg. policy.yaml) |
data |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--data | string | Metadata path within the policy object to link to |
content_set_policy_delegate
elv-live content_set_policy_delegate <object> <delegate>
Set the policy delegate on the object contract.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | ID of the content object |
delegate | string | ✓ | ID of the content object policy delegate |
content_get_policy
elv-live content_get_policy <object>
Get the content object policy from the object metadata and the delegate from the object's contract meta
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | ID of the content object |
content_clear_policy
elv-live content_clear_policy <object>
Remove content object policy from the object metadata and the delegate from the object's contract meta
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
object | string | ✓ | ID of the content object |
list
elv-live list [options]
List the Eluvio Live Tenants
Options
| Option | Type | Required | Description |
|---|---|---|---|
--tenant | string | Show the tenant based on id. Eg. itenXXX... | |
--tenant_slug | string | Show the tenant based on slug. Eg. elv-live |
create_wallet_account
elv-live create_wallet_account <email> <tenant> <property_slug>
create a wallet account and send tenant-branded email (sysadmin key required)
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
email | string | ✓ | the email to create the account for, or @filename for list of emails |
tenant | string | ✓ | the tenant in format iten... |
property_slug | string | ✓ | the property slug. e.g., epcrtv |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--only_create_account | boolean | only create the account, don't send email | |
--only_send_email | boolean | only send account-creation email, do not create the account | |
--schedule_at | string | set future time for account-creation email (format is 2024-11-13T01:07:05Z) |
shuffle
elv-live shuffle <file> [options]
Sort each line deterministically based on the seed
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
file | string | ✓ | File or directory path |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--seed | string | Determines the order. If no seed is provided, the shuffler uses a random one. | |
--check_dupes | boolean | Abort if duplicate is found | |
--print_js | boolean | Print result as an array in JavaScript |
admin_health
elv-live admin_health [options]
Checks the health of the Authority Service APIs. Note the current key must be a system admin configured in the AuthD servers.
otp
elv-live otp <subcommand>
NTP instance (OTP) management commands
Subcommands
otp createotp updateotp suspendotp deleteotp listotp showotp reportotp statusotp issue_codeotp issue_signed_codeotp redeem_codeotp generate_codesotp make_embed_urls
otp create
elv-live otp create <tenant> <object> [options]
Create a new NTP instance (class 4 ticket system)
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
object | string | ✓ | Permissions object ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--ntp_class | number | NTP class (default 4) Default: 4 | |
--max_tickets | number | Max tickets to issue (0 = unlimited) Default: 10 | |
--max_redemptions | number | Max redemptions per ticket Default: 100 | |
--start_time | string | Start time (ISO format, eg. 2024-01-01) | |
--end_time | string | End time (ISO format, eg. 2100-01-01) | |
--ticket_length | number | Ticket code length (default 6) Default: 6 |
otp update
elv-live otp update <tenant> <otp> [options]
Update parameters of an existing NTP instance
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--max_tickets | number | Max tickets to issue (0 = unlimited) Default: 10 | |
--max_redemptions | number | Max redemptions per ticket Default: 100 | |
--start_time | string | New start time (ISO format) | |
--end_time | string | New end time (ISO format) |
otp suspend
elv-live otp suspend <tenant> <otp>
Suspend an NTP instance (all tickets will be considered expired)
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
otp delete
elv-live otp delete <tenant> <otp>
Delete an NTP instance (cannot be undone)
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
otp list
elv-live otp list <tenant> [options]
List NTP instances for a tenant
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--count | number | Number of results to return (default 10) Default: 10 | |
--offset | number | Offset from which to return results (default 0) Default: 0 |
otp show
elv-live otp show <tenant> <otp>
Show info on an NTP instance
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
otp report
elv-live otp report <tenant> <otp>
Show report on an NTP instance
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--password | string | Password to encrypt the report with (optional) | |
--email | string | Email address to bind to this report |
otp status
elv-live otp status <tenant> <otp> <code>
Check the status of an NTP ticket
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
code | string | ✓ | Ticket code |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--email | string | Email address bound to this ticket (if applicable) |
otp issue_code
elv-live otp issue_code <tenant> <otp> [options]
Issue a single NTP ticket code
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--email | string | Email address to bind to this ticket | |
--max_redemptions | number | Max redemptions for this ticket (overrides instance default) |
otp issue_signed_code
elv-live otp issue_signed_code <tenant> <otp> [options]
Issue a signed NTP ticket code (signed by the current user)
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--email | string | Email address to bind to this ticket | |
--max_redemptions | number | Max redemptions for this ticket (overrides instance default) |
otp redeem_code
elv-live otp redeem_code <tenant> <otp> <code> [options]
Redeem an NTP ticket code to authorize the client
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
code | string | ✓ | Ticket code to redeem |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--email | string | Email address bound to this ticket (if applicable) | |
--include_ntp_id | boolean | Include the NTP ID in the response Default: false |
otp generate_codes
elv-live otp generate_codes <tenant> <otp> [options]
Generate multiple NTP ticket codes in bulk
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
Options
| Option | Type | Required | Description |
|---|---|---|---|
--quantity | number | Number of codes to generate | |
--emails | string | File containing one email per line to bind codes to |
otp make_embed_urls
elv-live otp make_embed_urls <tenant> <otp> <object> <codes_file>
Generate embed URLs for a set of NTP codes
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
tenant | string | ✓ | Tenant ID |
otp | string | ✓ | NTP instance ID |
object | string | ✓ | Playable object ID (live or on-demand) |
codes_file | string | ✓ | Path to JSON file containing codes array (from generate_codes) |