Skip to main content

elv-live

EluvioLive CLI

Usage: elv-live <command>

Global options​

OptionTypeRequiredDescription
-m, --mainSets ELV_NET=main
-d, --dv3, --demov3Sets ELV_NET=demov3
--testSets ELV_NET=test
--devSets ELV_NET=dev
--verbose, -vbooleanVerbose mode
--as_urlstringAlternate authority service URL (include '/as/' route if necessary)

Commands​

CommandDescription
nft_showShow info on this NFT
nft_balance_ofCall NFT ownerOf - determine if this is an owner
nft_refreshSynchronize backend listings with fabric metadata for a specific tenant's NFT. Requires tenant Key.
nft_transferTransfer the specified NFT as the token owner
transfer_errorsShow tenant transfer failures. Used to identify payments collected on failed transfers.
nft_proxy_transferTransfer NFT as a proxy owner
nft_proxy_transfer_batchTransfer NFT as a proxy owner in batches
nft_buildBuild 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_proxySet a proxy on an NFT contract
nft_pack_get_distCompute pack distribution based on NFT Template spec. Saves to file.
nft_pack_set_distSet the pack distribution for an NFT Template. Reads distribution from file.
nft_burnBurn the specified NFT as the owner
nft_proxy_burnBurn the specified NFT by transferring it to 0x...0dead via the Authority Service
nft_set_transfer_feeSet the base transfer fee on the NFT contract
nft_get_transfer_feeGet the base transfer fee of the NFT contract
nft_add_contractAdd a new or existing NFT contract to an NFT Template object
nft_add_offerAdd a redeemable offer to the NFT contract as the contract owner or minter
nft_remove_offerRemove (disable) a redeemable offer from the NFT contract as the contract owner or minter
nft_offer_redeemedReturns true if offer is redeemed
nft_offer_activeReturns true if offer is active
nft_redeem_offerRedeem an nft offer
as_nft_redeem_offerRedeem an nft offer using the authority service
nft_get_policy_permissionsGets the policy and permissions of a content object.
nft_set_policy_permissionsSets 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_addressesSets the NFT contract addresses granting NFT owners access to a content object, leaving the existing policy unchanged.
nft_set_policy_permissions_batchBatch version of nft_set_policy_permissions. Reads content object IDs from file and sets the specified policy and permissions.
tenant_showShow info on this tenant
tenant_auth_tokenGenerate a tenant token
tenant_auth_curlGenerate a tenant token and use it to call a baseTenantAuth authd endpoint.
tenant_path_auth_curlGenerate a tenant token and use it to call a tenantPathAuth authd endpoint.
tenant_set_token_uriSet the token URI for a single token, a batch (CSV), or all tokens of a tenant NFT contract
tenant_update_token_uriUpdate the token URIs of all tokens in a tenant NFT contract to a new NFT template object hash
tenant_balance_ofShow NFTs owned by this owner in this tenant using contracts.
fabric_tenant_balance_ofShow NFTs owned by this owner in this tenant by using the Fabric EluvioLive object tree.
site_showShow info on this site/event
site_set_dropSet drop dates for a site/event
tenant_tickets_generateGenerate tickets for a given tenant OTP ID
tenant_mintMint a marketplace NFT by SKU as tenant admin
tenant_primary_salesShow tenant primary sales history
tenant_secondary_salesShow tenant secondary sales history
tenant_salesShow tenant sales history
tenant_sessionsExport CSV file of session data from the analytics API for a given tenant and time range
tenant_walletsShow the wallets associated with this tenant
tenant_nft_removeRemoves the nft address from the tenant contract
tenant_nft_listList all tenant_nfts within a tenant contract
tenant_has_nftSearches tenant_nfts list in tenant contract and returns true if exists
tenant_add_consumersAdds address(es) to the tenant's consumer group
tenant_remove_consumerRemoves consumer from tenant consumer group
tenant_has_consumerReturns true or false if addr is in the tenant consumer group
marketplace_add_itemAdds an item to a marketplace
marketplace_add_item_batchAdds multiple items to a marketplace
marketplace_remove_itemRemoves an item from a marketplace
storefront_section_add_itemAdds an item to a marketplace storefront section
storefront_section_remove_itemRemoves an item from a marketplace storefront section
tenant_provisionProvision a new tenancy with standard media libraries and content types.
tenant_add_consumer_groupDeploys a BaseTenantConsumerGroup and adds it to this tenant's contract.
tenant_get_minter_configGets the minter configuration for this tenant key
tenant_create_minter_configCreates the minter configuration for this tenant key
tenant_replace_minter_configReplaces the minter configuration for this tenant key
tenant_deploy_helper_contractsDeploys 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_configDeletes the minter configuration for this tenant key
tenant_publish_dataSubmits 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_sendSends a notification (using the notification service).
notif_send_token_updateSends a TOKEN_UPDATED notification to all owners of this NFT.
account_createCreate a new account -> mnemonic, address, private key
account_showShows current account information.
payment_contract_createDeploy a payment contract for revenue split.
payment_contract_showShow status of payment contract stakeholders.
payment_releaseRetrieve payment from payment splitter contract as a payee or for a payee using --payee flag
token_contract_createDeploy elv token contract
token_transferTransfer given elv tokens to address provided
token_balance_ofGet the token balance of a given user
token_add_minterAdd minter or mint helper address to NFT or Token
token_renounce_minterRenounce the minter(msg.sender) from NFT or Token
token_is_mintercheck if minter to NFT or Token
content_set_policySet the policy on an existing content object. This also sets the delegate on the object contract to itself.
content_set_policy_delegateSet the policy delegate on the object contract.
content_get_policyGet the content object policy from the object metadata and the delegate from the object's contract meta
content_clear_policyRemove content object policy from the object metadata and the delegate from the object's contract meta
listList the Eluvio Live Tenants
create_wallet_accountcreate a wallet account and send tenant-branded email (sysadmin key required)
shuffleSort each line deterministically based on the seed
admin_healthChecks the health of the Authority Service APIs. Note the current key must be a system admin configured in the AuthD servers.
otpNTP instance (OTP) management commands
otp createCreate a new NTP instance (class 4 ticket system)
otp updateUpdate parameters of an existing NTP instance
otp suspendSuspend an NTP instance (all tickets will be considered expired)
otp deleteDelete an NTP instance (cannot be undone)
otp listList NTP instances for a tenant
otp showShow info on an NTP instance
otp reportShow report on an NTP instance
otp statusCheck the status of an NTP ticket
otp issue_codeIssue a single NTP ticket code
otp issue_signed_codeIssue a signed NTP ticket code (signed by the current user)
otp redeem_codeRedeem an NTP ticket code to authorize the client
otp generate_codesGenerate multiple NTP ticket codes in bulk
otp make_embed_urlsGenerate embed URLs for a set of NTP codes

Command reference​

nft_show​

elv-live nft_show <addr> [options]

Show info on this NFT

Arguments

NameTypeRequiredDescription
addrstring✓NFT address (hex)

Options

OptionTypeRequiredDescription
--check_minterCheck that all NFTs use this mint helper
--show_ownersintegerShow up to these many owners (default 0), loaded from an index. Only used when token_id is not specified.
--show_owners_via_contractintegerShow up to these many owners (default 0), parsed directly from the contract. Only used when token_id is not specified.
--include_emailstringInclude owner(s) email(s) when available, as bound to the given tenant ID.
--token_idstringExternal 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

NameTypeRequiredDescription
addrstring✓NFT address (hex)
ownerstring✓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

NameTypeRequiredDescription
tenantstring✓Tenant ID
addrstring✓NFT contract address

nft_transfer​

elv-live nft_transfer <addr> <token_id> <to_addr> [options]

Transfer the specified NFT as the token owner

Arguments

NameTypeRequiredDescription
addrstring✓Local NFT contract address
token_idstring✓External token ID
to_addrstring✓Address to transfer to (hex)

Options

OptionTypeRequiredDescription
--auth_serviceUse 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

NameTypeRequiredDescription
tenantstring✓Tenant ID

nft_proxy_transfer​

elv-live nft_proxy_transfer <addr> <token_id> <from_addr> <to_addr>

Transfer NFT as a proxy owner

Arguments

NameTypeRequiredDescription
addrstring✓NFT address (hex)
token_idinteger✓Token Id
from_addrstring✓Address to transfer from (hex)
to_addrstring✓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

NameTypeRequiredDescription
input_filestring✓CSV file with values: addr, tokenId, fromAddr, toAddr

Options

OptionTypeRequiredDescription
--concurrencynumber of concurrent operations (default: 5)
--batch_sizesize of each batch (default:20)
--verbosebooleanenable 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

NameTypeRequiredDescription
objectstring✓Content object hash (hq__) or id (iq__)

Options

OptionTypeRequiredDescription
--nft_dirstringCreate 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

NameTypeRequiredDescription
addrstring✓NFT address (hex)
proxy_addr

Options

OptionTypeRequiredDescription
--proxy_addrstringProxy 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

NameTypeRequiredDescription
hashstring✓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

NameTypeRequiredDescription
hashstring✓NFT Template content hash (hq__)

nft_burn​

elv-live nft_burn <addr> <token_id>

Burn the specified NFT as the owner

Arguments

NameTypeRequiredDescription
addrstring✓Local NFT contract address
token_idstring✓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

NameTypeRequiredDescription
addrstring✓Local NFT contract address
token_idstring✓External token ID
from_addrstringCurrent owner address (hex); looked up from the contract if omitted
tenantstringTenant 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

NameTypeRequiredDescription
addrstring✓NFT contract address
feestring✓Fee in ETH

nft_get_transfer_fee​

elv-live nft_get_transfer_fee <addr>

Get the base transfer fee of the NFT contract

Arguments

NameTypeRequiredDescription
addrstring✓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

NameTypeRequiredDescription
tenantstring✓Tenant ID
objectstring✓NFT Template object ID
capnumber✓NFT total supply cap
namestring✓NFT collection name
symbolstring✓NFT collection symbol

Options

OptionTypeRequiredDescription
--holdnumberHold 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

NameTypeRequiredDescription
addrstring✓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

NameTypeRequiredDescription
addrstring✓NFT contract address
offer_idinteger✓Offer ID

nft_offer_redeemed​

elv-live nft_offer_redeemed <addr> <token_id> <offer_id>

Returns true if offer is redeemed

Arguments

NameTypeRequiredDescription
addrstring✓NFT contract address
token_idinteger✓NFT token ID
offer_idinteger✓Offer ID

nft_offer_active​

elv-live nft_offer_active <addr> <offer_id>

Returns true if offer is active

Arguments

NameTypeRequiredDescription
addrstring✓NFT contract address
offer_idinteger✓Offer ID

nft_redeem_offer​

elv-live nft_redeem_offer <addr> <redeemer> <token_id> <offer_id>

Redeem an nft offer

Arguments

NameTypeRequiredDescription
addrstring✓NFT contract address
redeemerstring✓Redeemer address
token_idinteger✓NFT token ID
offer_idinteger✓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

NameTypeRequiredDescription
addrstring✓NFT contract address
tenantstring✓Tenant ID
mint_helper_addrstring✓Address of the mint helper (hex), used with --auth_service
token_idinteger✓NFT token ID
offer_idinteger✓Offer ID

nft_get_policy_permissions​

elv-live nft_get_policy_permissions <object>

Gets the policy and permissions of a content object.

Arguments

NameTypeRequiredDescription
objectstring✓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

NameTypeRequiredDescription
objectstring✓ID of the content object to grant access to
policy_pathstring✓Path of policy object file
addrs...stringList of space separated NFT contract addresses to set. Calling multiple times with a new list will replace the existing.

Options

OptionTypeRequiredDescription
--clearbooleanClear 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

NameTypeRequiredDescription
objectstring✓ID of the content object to grant access to
addrs...stringList of space separated NFT contract addresses to set. Replaces the existing list unless --append is used.

Options

OptionTypeRequiredDescription
--clearbooleanClear all NFT contract addresses from the content object.
Default: false
--appendbooleanAppend 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

NameTypeRequiredDescription
object_liststring✓Path to a file with one content object ID per line
policy_pathstring✓Path of policy object file
addrs...stringList of space separated NFT contract addresses to set. Calling multiple times with a new list will replace the existing.

Options

OptionTypeRequiredDescription
--clearbooleanclear the nft owners
Default: false

tenant_show​

elv-live tenant_show <tenant> [options]

Show info on this tenant

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--check_nftsbooleanCheck 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

NameTypeRequiredDescription
path_or_bodystring✓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

NameTypeRequiredDescription
url_pathstring✓URL path
post_bodystringeither 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

NameTypeRequiredDescription
url_pathstring✓URL path
post_bodystringeither 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

NameTypeRequiredDescription
request_typestring✓Request Type (single, batch, all)
tenantstring✓Tenant ID
contract_addressstring✓NFT contract address
new_token_uristring✓New token URI; ignored if CSV batch, use -

Options

OptionTypeRequiredDescription
--token_idnumberOptional Token ID; required for single request type
--csvstringCSV 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
addrstring✓NFT contract address
hashstring✓New NFT template object hash

Options

OptionTypeRequiredDescription
--dry_runbooleanOnly 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
ownerstring✓Owner address (hex)

Options

OptionTypeRequiredDescription
--csvstringFile 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

NameTypeRequiredDescription
objectstring✓Tenant-level EluvioLive object ID
ownerstring✓Owner address (hex)

Options

OptionTypeRequiredDescription
--max_resultsintegerShow up to these many results (default 0 = unlimited)

site_show​

elv-live site_show <library> <object>

Show info on this site/event

Arguments

NameTypeRequiredDescription
librarystring✓Site library
objectstring✓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

NameTypeRequiredDescription
librarystring✓Site library
objectstring✓Site object ID
uuidstring✓Drop UUID
start_datestring✓Event start date (ISO format)

Options

OptionTypeRequiredDescription
--end_datestringEvent end date (ISO format)
--end_votestringEvent vote end date (ISO format)
--start_mintstringEvent start mint date (ISO format)
--new_uuidbooleanAssign a new UUID
--updatestringTenant-level EluvioLive object to update

tenant_tickets_generate​

elv-live tenant_tickets_generate <tenant> <otp>

Generate tickets for a given tenant OTP ID

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓OTP ID (including prefix)

Options

OptionTypeRequiredDescription
--quantityintegerSpecify how many to generate (default 1)
--emailsstringFile containing one email per line (or any user identifier). Generate codes bound to these identifiers
--embed_url_basestringGenerate embed URLs for each ticket based on this template
--otp_classintegerUse 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
marketplacestring✓Marketplace ID
skustring✓NFT marketplace SKU
addrstring✓Target address to mint to

Options

OptionTypeRequiredDescription
--quantityintegerSpecify how many to mint (default 1)

tenant_primary_sales​

elv-live tenant_primary_sales <tenant> <marketplace>

Show tenant primary sales history

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
marketplacestring✓Marketplace ID

Options

OptionTypeRequiredDescription
--processorstringPayment processor: eg. stripe, coinbase, eluvio. Omit for all.
Default:
--csvstringFile path to output csv
--offsetnumberOffset in months to dump data where 0 is the current month
Default: 1
--adminbooleanUse 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

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--processorstringPayment processor: eg. stripe, coinbase, eluvio. Omit for all.
Default:
--csvstringFile path to output csv
--offsetnumberOffset 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

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--processorstringPayment processor: eg. stripe, coinbase, eluvio. Omit for all.
Default:
--csvstringFile path to output csv
--offsetnumberOffset 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
start_tsint✓start timestamp (seconds since epoch)
end_tsint✓end timestamp (seconds since epoch)
filenamestring✓filename to output csv

tenant_wallets​

elv-live tenant_wallets <tenant> [options]

Show the wallets associated with this tenant

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--csvstringFile path to output csv
--max_resultsintegerShow 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
addrstring✓NFT Address

tenant_nft_list​

elv-live tenant_nft_list <tenant>

List all tenant_nfts within a tenant contract

Arguments

NameTypeRequiredDescription
tenantstring✓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

NameTypeRequiredDescription
tenantstring✓Tenant ID
addrstring✓NFT Address

tenant_add_consumers​

elv-live tenant_add_consumers <group_id> [addrs..]

Adds address(es) to the tenant's consumer group

Arguments

NameTypeRequiredDescription
group_idstring✓Tenant consumer group ID
addrs...

Options

OptionTypeRequiredDescription
--addrsstringAddresses to add

tenant_remove_consumer​

elv-live tenant_remove_consumer <group_id> <addr>

Removes consumer from tenant consumer group

Arguments

NameTypeRequiredDescription
group_idstring✓Tenant consumer group ID
addrstring✓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

NameTypeRequiredDescription
group_idstring✓Tenant consumer group ID
addrstring✓Address to check

marketplace_add_item​

elv-live marketplace_add_item <marketplace> <object> <name> [price] [forSale]

Adds an item to a marketplace

Arguments

NameTypeRequiredDescription
marketplacestring✓Marketplace object ID
objectstring✓NFT Template object hash (hq__) or id (iq__)
name✓Item name
pricenumberPrice to list for
forSalebooleanWhether 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

NameTypeRequiredDescription
marketplacestring✓Marketplace object ID
csvstring✓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

NameTypeRequiredDescription
marketplacestring✓Marketplace object ID
objectstring✓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

NameTypeRequiredDescription
marketplacestring✓Marketplace object ID
skustring✓Marketplace item SKU
sectionstringStorefront section name

storefront_section_remove_item​

elv-live storefront_section_remove_item <marketplace> <sku> [writeToken]

Removes an item from a marketplace storefront section

Arguments

NameTypeRequiredDescription
marketplacestring✓Marketplace object ID
skustring✓Marketplace item SKU
writeTokenstringWrite 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
slugstring✓Tenant Slug

Options

OptionTypeRequiredDescription
--namestringTenant name
--statusstringPath to the JSON File for existing tenant provision config
--init_configbooleanDisplays 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

NameTypeRequiredDescription
tenantstring✓Tenant ID

tenant_get_minter_config​

elv-live tenant_get_minter_config <tenant> [options]

Gets the minter configuration for this tenant key

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID

tenant_create_minter_config​

elv-live tenant_create_minter_config <tenant> [options]

Creates the minter configuration for this tenant key

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--fundsintegerHow much to fund the minter and proxy addresses. Default: 0 (do not fund)
--deploybooleanDeploy 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

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--proxy_ownerstringReplace proxy owner ID (eg. ikms..). Note that the key must already be stored in the Authority Service to use this.
--minterstringReplace minter ID (eg. ikms..). Note that the key must already be stored in the Authority Service to use this.
--mint_helperstringReplace minter helper address (hex). The minter must be the owner of this contract.
--proxystringReplace the transfer proxy address (hex). The proxy owner must be the owner of this contract.
--mint_shuffle_keystringReplace the mint shuffle key (ikms). The secret must be already stored in the Authority Service
--legacy_shuffle_seedstringReplace the legacy shuffle seed (use '0' to disable).
--purgeboolPurge 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

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--mint_helperboolDeploy mint helper contract.
--proxyboolDeploy Proxy contract.

tenant_delete_minter_config​

elv-live tenant_delete_minter_config <tenant> [options]

Deletes the minter configuration for this tenant key

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--forcebooleanAttempt 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
content_hashstring✓Version hash of the new tenant media-wallet settings object; ignored if --media-wallet=false

Options

OptionTypeRequiredDescription
--media_walletbooleanindicates if this is a media-wallet-enabled tenant; default: true
Default: true
--update_linksbooleanUpdate links on your tenant Fabric object
--envstringEnvironment 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

NameTypeRequiredDescription
user_addrstring✓User address
tenantstring✓Tenant ID
eventstring✓One of: TOKEN_UPDATED

Options

OptionTypeRequiredDescription
--nft_addrstringNFT contract address (hex)
Default:
--token_idstringNFT token ID
Default:
--notif_urlstringNotification 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

NameTypeRequiredDescription
nft_addrstring✓NFT contract address (hex)
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--notif_urlstringNotification service URL
Default:

account_create​

elv-live account_create <funds> <account_name> <tenant_admins>

Create a new account -> mnemonic, address, private key

Arguments

NameTypeRequiredDescription
fundsstring✓How much to fund the new account from this private key in ETH.
account_namestring✓Account Name
tenant_adminsstring✓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

NameTypeRequiredDescription
addressesstring✓List of stake holder addresses (hex), comma separated
sharesstring✓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

NameTypeRequiredDescription
addrstring✓Address of the payment contract (hex)
token_addrstring✓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

NameTypeRequiredDescription
addrstring✓Address of the payment contract (hex)
token_addrstring✓Address of the ERC20 token contract (hex)

Options

OptionTypeRequiredDescription
--payeestringpayee address
Default:

token_contract_create​

elv-live token_contract_create <name> <symbol> <decimals> <amount> [options]

Deploy elv token contract

Arguments

NameTypeRequiredDescription
namestring✓elv_token name
symbolstring✓elv_token symbol
decimalsnumber✓elv_token decimals
amountnumber✓elv_token premint amount

token_transfer​

elv-live token_transfer <token_addr> <to_addr> <amount> [options]

Transfer given elv tokens to address provided

Arguments

NameTypeRequiredDescription
token_addrstring✓elv_token address
to_addrstring✓to address
amountnumber✓transfer amount

token_balance_of​

elv-live token_balance_of <token_addr> <user_addr> [options]

Get the token balance of a given user

Arguments

NameTypeRequiredDescription
token_addrstring✓elv_token address
user_addrstring✓user address

token_add_minter​

elv-live token_add_minter <addr> <minter>

Add minter or mint helper address to NFT or Token

Arguments

NameTypeRequiredDescription
addrstring✓NFT or Token address (hex)
minter✓

Options

OptionTypeRequiredDescription
--minterstringMinter or mint helper address (hex)

token_renounce_minter​

elv-live token_renounce_minter <addr>

Renounce the minter(msg.sender) from NFT or Token

Arguments

NameTypeRequiredDescription
addrstring✓NFT or Token address (hex)

token_is_minter​

elv-live token_is_minter <addr> <minter>

check if minter to NFT or Token

Arguments

NameTypeRequiredDescription
addrstring✓NFT or Token address (hex)
minter✓

Options

OptionTypeRequiredDescription
--minterstringMinter 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

NameTypeRequiredDescription
objectstring✓ID of the content object
policy_pathstring✓Path to the content object policy file (eg. policy.yaml)
data

Options

OptionTypeRequiredDescription
--datastringMetadata 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

NameTypeRequiredDescription
objectstring✓ID of the content object
delegatestring✓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

NameTypeRequiredDescription
objectstring✓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

NameTypeRequiredDescription
objectstring✓ID of the content object

list​

elv-live list [options]

List the Eluvio Live Tenants

Options

OptionTypeRequiredDescription
--tenantstringShow the tenant based on id. Eg. itenXXX...
--tenant_slugstringShow 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

NameTypeRequiredDescription
emailstring✓the email to create the account for, or @filename for list of emails
tenantstring✓the tenant in format iten...
property_slugstring✓the property slug. e.g., epcrtv

Options

OptionTypeRequiredDescription
--only_create_accountbooleanonly create the account, don't send email
--only_send_emailbooleanonly send account-creation email, do not create the account
--schedule_atstringset 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

NameTypeRequiredDescription
filestring✓File or directory path

Options

OptionTypeRequiredDescription
--seedstringDetermines the order. If no seed is provided, the shuffler uses a random one.
--check_dupesbooleanAbort if duplicate is found
--print_jsbooleanPrint 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 create​

elv-live otp create <tenant> <object> [options]

Create a new NTP instance (class 4 ticket system)

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
objectstring✓Permissions object ID

Options

OptionTypeRequiredDescription
--ntp_classnumberNTP class (default 4)
Default: 4
--max_ticketsnumberMax tickets to issue (0 = unlimited)
Default: 10
--max_redemptionsnumberMax redemptions per ticket
Default: 100
--start_timestringStart time (ISO format, eg. 2024-01-01)
--end_timestringEnd time (ISO format, eg. 2100-01-01)
--ticket_lengthnumberTicket code length (default 6)
Default: 6

otp update​

elv-live otp update <tenant> <otp> [options]

Update parameters of an existing NTP instance

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

Options

OptionTypeRequiredDescription
--max_ticketsnumberMax tickets to issue (0 = unlimited)
Default: 10
--max_redemptionsnumberMax redemptions per ticket
Default: 100
--start_timestringNew start time (ISO format)
--end_timestringNew end time (ISO format)

otp suspend​

elv-live otp suspend <tenant> <otp>

Suspend an NTP instance (all tickets will be considered expired)

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

otp delete​

elv-live otp delete <tenant> <otp>

Delete an NTP instance (cannot be undone)

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

otp list​

elv-live otp list <tenant> [options]

List NTP instances for a tenant

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID

Options

OptionTypeRequiredDescription
--countnumberNumber of results to return (default 10)
Default: 10
--offsetnumberOffset from which to return results (default 0)
Default: 0

otp show​

elv-live otp show <tenant> <otp>

Show info on an NTP instance

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

otp report​

elv-live otp report <tenant> <otp>

Show report on an NTP instance

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

Options

OptionTypeRequiredDescription
--passwordstringPassword to encrypt the report with (optional)
--emailstringEmail address to bind to this report

otp status​

elv-live otp status <tenant> <otp> <code>

Check the status of an NTP ticket

Arguments

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID
codestring✓Ticket code

Options

OptionTypeRequiredDescription
--emailstringEmail 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

Options

OptionTypeRequiredDescription
--emailstringEmail address to bind to this ticket
--max_redemptionsnumberMax 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

Options

OptionTypeRequiredDescription
--emailstringEmail address to bind to this ticket
--max_redemptionsnumberMax 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID
codestring✓Ticket code to redeem

Options

OptionTypeRequiredDescription
--emailstringEmail address bound to this ticket (if applicable)
--include_ntp_idbooleanInclude 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID

Options

OptionTypeRequiredDescription
--quantitynumberNumber of codes to generate
--emailsstringFile 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

NameTypeRequiredDescription
tenantstring✓Tenant ID
otpstring✓NTP instance ID
objectstring✓Playable object ID (live or on-demand)
codes_filestring✓Path to JSON file containing codes array (from generate_codes)