This is page 93 of 93. Use http://codebase.md/goplausible/algorand-mcp?lines=true&page={x} to view the full context.
# Directory Structure
```
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── llms-install.md
├── llms.txt
├── package.json
├── packages
│ ├── client
│ │ ├── .env.example
│ │ ├── package.json
│ │ ├── README.md
│ │ ├── src
│ │ │ ├── env.ts
│ │ │ ├── index.ts
│ │ │ └── LocalWallet.ts
│ │ └── tsconfig.json
│ └── server
│ ├── .env.example
│ ├── API specs
│ │ ├── algod_api.json
│ │ ├── indexer_api.json
│ │ ├── mcp.json
│ │ ├── nfd_api.json
│ │ ├── ultrade_api.json
│ │ ├── vestige_api.json
│ │ └── vestige_free_api.json
│ ├── Dockerfile
│ ├── jest.config.js
│ ├── package.json
│ ├── README.md
│ ├── smithery.yaml
│ ├── src
│ │ ├── algorand-client.ts
│ │ ├── env.ts
│ │ ├── index.ts
│ │ ├── resources
│ │ │ ├── index.ts
│ │ │ ├── knowledge
│ │ │ │ ├── ARCs.txt
│ │ │ │ ├── developers-algokit-architecture-decisions.txt
│ │ │ │ ├── developers-algokit-cli.txt
│ │ │ │ ├── developers-algokit-utils-python.txt
│ │ │ │ ├── developers-algokit-utils-typescript.txt
│ │ │ │ ├── developers-clis.txt
│ │ │ │ ├── developers-details.txt
│ │ │ │ ├── developers-liquid-auth.txt
│ │ │ │ ├── developers-nodes.txt
│ │ │ │ ├── developers-puya.txt
│ │ │ │ ├── developers-python.txt
│ │ │ │ ├── developers-sdks-js.txt
│ │ │ │ ├── developers-sdks-python.txt
│ │ │ │ ├── developers-tealscript.txt
│ │ │ │ ├── developers.txt
│ │ │ │ ├── index.ts
│ │ │ │ ├── taxonomy
│ │ │ │ │ ├── algokit-cli:README.md
│ │ │ │ │ ├── algokit:cli:algokit.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2022-11-14_sandbox-approach.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2022-11-22_beaker-testing-strategy.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-01-11_beaker_productionisation_review.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-01-11_brew_install.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-01-12_smart-contract-deployment.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-06-06_frontend-templates.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2023-07-19_advanced_generate_command.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-01-13_native_binaries.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-01-23_init-wizard-v2.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-01-31_binary_distribution.md
│ │ │ │ │ ├── algokit:cli:architecture-decisions:2024-03-06_local_dev_ui_packaging.md
│ │ │ │ │ ├── algokit:cli:articles:output_stability.md
│ │ │ │ │ ├── algokit:cli:cli:index.md
│ │ │ │ │ ├── algokit:cli:features:compile.md
│ │ │ │ │ ├── algokit:cli:features:completions.md
│ │ │ │ │ ├── algokit:cli:features:config.md
│ │ │ │ │ ├── algokit:cli:features:dispenser.md
│ │ │ │ │ ├── algokit:cli:features:doctor.md
│ │ │ │ │ ├── algokit:cli:features:explore.md
│ │ │ │ │ ├── algokit:cli:features:generate.md
│ │ │ │ │ ├── algokit:cli:features:goal.md
│ │ │ │ │ ├── algokit:cli:features:init.md
│ │ │ │ │ ├── algokit:cli:features:localnet.md
│ │ │ │ │ ├── algokit:cli:features:project:bootstrap.md
│ │ │ │ │ ├── algokit:cli:features:project:deploy.md
│ │ │ │ │ ├── algokit:cli:features:project:link.md
│ │ │ │ │ ├── algokit:cli:features:project:list.md
│ │ │ │ │ ├── algokit:cli:features:project:run.md
│ │ │ │ │ ├── algokit:cli:features:project.md
│ │ │ │ │ ├── algokit:cli:features:tasks:analyze.md
│ │ │ │ │ ├── algokit:cli:features:tasks:ipfs.md
│ │ │ │ │ ├── algokit:cli:features:tasks:mint.md
│ │ │ │ │ ├── algokit:cli:features:tasks:nfd.md
│ │ │ │ │ ├── algokit:cli:features:tasks:opt.md
│ │ │ │ │ ├── algokit:cli:features:tasks:send.md
│ │ │ │ │ ├── algokit:cli:features:tasks:sign.md
│ │ │ │ │ ├── algokit:cli:features:tasks:transfer.md
│ │ │ │ │ ├── algokit:cli:features:tasks:vanity_address.md
│ │ │ │ │ ├── algokit:cli:features:tasks:wallet.md
│ │ │ │ │ ├── algokit:cli:features:tasks.md
│ │ │ │ │ ├── algokit:cli:tutorials:algokit-template.md
│ │ │ │ │ ├── algokit:cli:tutorials:intro.md
│ │ │ │ │ ├── algokit:cli:tutorials:smart-contracts.md
│ │ │ │ │ ├── algokit:docs:testnet_api.md
│ │ │ │ │ ├── algokit:lora:README.md
│ │ │ │ │ ├── algokit:README.md
│ │ │ │ │ ├── algokit:utils:python:markdown:apidocs:algokit_utils:algokit_utils.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:account.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:app-client.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:app-deploy.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:client.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:debugger.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:dispenser-client.md
│ │ │ │ │ ├── algokit:utils:python:markdown:capabilities:transfer.md
│ │ │ │ │ ├── algokit:utils:python:markdown:index.md
│ │ │ │ │ ├── algokit:utils:python:README.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:account.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:app-client.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:app-deploy.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:client.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:debugger.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:dispenser-client.md
│ │ │ │ │ ├── algokit:utils:python:source:capabilities:transfer.md
│ │ │ │ │ ├── algokit:utils:python:source:index.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:account.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:algorand-client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:amount.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:app-client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:app-deploy.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:app.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:asset.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:debugging.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:dispenser-client.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:event-emitter.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:indexer.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:testing.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:transaction-composer.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:transaction.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:transfer.md
│ │ │ │ │ ├── algokit:utils:typescript:capabilities:typed-app-clients.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:testing.TestLogger.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:testing.TransactionLogger.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_account_manager.AccountManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_account.MultisigAccount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_account.SigningAccount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algo_http_client_with_retry.AlgoHttpClientWithRetry.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_creator.AlgorandClientTransactionCreator.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algorand_client_transaction_sender.AlgorandClientTransactionSender.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_algorand_client.AlgorandClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_amount.AlgoAmount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_arc56.Arc56Method.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_client.AppClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_client.ApplicationClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_deployer.AppDeployer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_factory.AppFactory.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_app_manager.AppManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_asset_manager.AssetManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_async_event_emitter.AsyncEventEmitter.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_client_manager.ClientManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_composer.TransactionComposer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_config.UpdatableConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_dispenser_client.TestNetDispenserApiClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_kmd_account_manager.KmdAccountManager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:classes:types_logic_error.LogicError.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_app.OnSchemaBreak.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_app.OnUpdate.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_indexer.AccountStatus.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_indexer.ApplicationOnComplete.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_indexer.SignatureType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:enums:types_lifecycle_events.EventType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_account_manager.EnsureFundedResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_account.AccountConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_account.TransactionSignerAccount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_algorand_client_interface.AlgorandClientInterface.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Arc56Contract.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Event.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.Method.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.ProgramSourceInfo.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageKey.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StorageMap.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_arc56.StructField.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallABIArgs.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCallCoreParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientCompilationResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCallInterfaceParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployCoreParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientDeployParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppClientParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.AppSourceMaps.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.FundAppAccountParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppById.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.ResolveAppByIdBase.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_client.SourceMapExport.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppLookup.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_deployer.AppMetadata.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_factory.AppFactoryParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.AppInformation.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxReference.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValueRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_manager.BoxValuesRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSources.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.AppSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.CallConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.DeclaredSchemaValueSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.Hint.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.ReservedSchemaValueSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.Schema.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.SchemaSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.StateSchemaSpec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app_spec.Struct.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppCallParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppCallTransactionResultOfType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppCompilationResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppDeploymentParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppDeployMetadata.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppLookup.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppMetadata.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppReference.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppState.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.AppStorageSchema.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxName.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxReference.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxValueRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.BoxValuesRequestParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.CompiledTeal.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.CoreAppCallArgs.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.CreateAppParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.RawAppCallArgs.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.TealTemplateParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_app.UpdateAppParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset_manager.AssetInformation.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset_manager.BulkAssetOptInOutResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.AssetBulkOptInOutParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptInParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.AssetOptOutParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_asset.CreateAssetParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_client_manager.AlgoSdkClients.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppClient.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_client_manager.TypedAppFactory.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_composer.BuiltTransactions.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_config.Config.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_debugging.AVMTracesEventData.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourceDebugEventData.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_debugging.TealSourcesDebugEventData.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserFundResponse.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.DispenserLimitResponse.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_dispenser_client.TestNetDispenserApiClientParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_indexer.LookupAssetHoldingsOptions.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_logic_error.LogicErrorDetails.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoClientConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_network_client.AlgoConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_network_client.NetworkDetails.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgoKitLogCaptureFixture.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixture.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandFixtureConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.AlgorandTestAutomationContext.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.GetTestAccountParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_testing.LogSnapshotConfig.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.AtomicTransactionComposerToSend.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.ConfirmedTransactionResults.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendAtomicTransactionComposerResults.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResult.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.SendTransactionResults.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionGroupToSend.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transaction.TransactionToSign.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoRekeyParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.AlgoTransferParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.EnsureFundedReturnType.md
│ │ │ │ │ ├── algokit:utils:typescript:code:interfaces:types_transfer.TransferAssetParams.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:index.indexer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:index.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:testing.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_account_manager_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_account_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_account.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algo_http_client_with_retry.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_asset_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_interface.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_creator.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_transaction_sender.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client_transfer_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_algorand_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_amount_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_amount.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_arc56.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_deployer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_factory_and_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_factory.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_app.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_asset_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_asset.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_async_event_emitter_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_async_event_emitter.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_client_manager_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_client_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_composer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_config.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_debugging.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_dispenser_client_spec.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_dispenser_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_expand.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_indexer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_kmd_account_manager.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_lifecycle_events.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_logging.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_logic_error.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_network_client.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_testing.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_transaction.md
│ │ │ │ │ ├── algokit:utils:typescript:code:modules:types_transfer.md
│ │ │ │ │ ├── algokit:utils:typescript:code:README.md
│ │ │ │ │ ├── algokit:utils:typescript:README.md
│ │ │ │ │ ├── algokit:utils:typescript:v7-migration.md
│ │ │ │ │ ├── algokit:utils:typescript:v8-migration.md
│ │ │ │ │ ├── ARCs:ARC-template.md
│ │ │ │ │ ├── ARCs:assets:arc-0012:README.md
│ │ │ │ │ ├── ARCs:assets:arc-0034:TemplateForm.md
│ │ │ │ │ ├── ARCs:assets:arc-0062:README.md
│ │ │ │ │ ├── ARCs:pages:nfts.md
│ │ │ │ │ ├── ARCs:pages:wallets.md
│ │ │ │ │ ├── ARCs:README.md
│ │ │ │ │ ├── ARCs:specs:arc-0000.md
│ │ │ │ │ ├── ARCs:specs:arc-0001.md
│ │ │ │ │ ├── ARCs:specs:arc-0002.md
│ │ │ │ │ ├── ARCs:specs:arc-0003.md
│ │ │ │ │ ├── ARCs:specs:arc-0004.md
│ │ │ │ │ ├── ARCs:specs:arc-0005.md
│ │ │ │ │ ├── ARCs:specs:arc-0006.md
│ │ │ │ │ ├── ARCs:specs:arc-0007.md
│ │ │ │ │ ├── ARCs:specs:arc-0008.md
│ │ │ │ │ ├── ARCs:specs:arc-0009.md
│ │ │ │ │ ├── ARCs:specs:arc-0010.md
│ │ │ │ │ ├── ARCs:specs:arc-0011.md
│ │ │ │ │ ├── ARCs:specs:arc-0012.md
│ │ │ │ │ ├── ARCs:specs:arc-0015.md
│ │ │ │ │ ├── ARCs:specs:arc-0016.md
│ │ │ │ │ ├── ARCs:specs:arc-0018.md
│ │ │ │ │ ├── ARCs:specs:arc-0019.md
│ │ │ │ │ ├── ARCs:specs:arc-0020.md
│ │ │ │ │ ├── ARCs:specs:arc-0021.md
│ │ │ │ │ ├── ARCs:specs:arc-0022.md
│ │ │ │ │ ├── ARCs:specs:arc-0023.md
│ │ │ │ │ ├── ARCs:specs:arc-0025.md
│ │ │ │ │ ├── ARCs:specs:arc-0026.md
│ │ │ │ │ ├── ARCs:specs:arc-0028.md
│ │ │ │ │ ├── ARCs:specs:arc-0032.md
│ │ │ │ │ ├── ARCs:specs:arc-0033.md
│ │ │ │ │ ├── ARCs:specs:arc-0034.md
│ │ │ │ │ ├── ARCs:specs:arc-0035.md
│ │ │ │ │ ├── ARCs:specs:arc-0036.md
│ │ │ │ │ ├── ARCs:specs:arc-0042.md
│ │ │ │ │ ├── ARCs:specs:arc-0047.md
│ │ │ │ │ ├── ARCs:specs:arc-0048.md
│ │ │ │ │ ├── ARCs:specs:arc-0049.md
│ │ │ │ │ ├── ARCs:specs:arc-0054.md
│ │ │ │ │ ├── ARCs:specs:arc-0055.md
│ │ │ │ │ ├── ARCs:specs:arc-0056.md
│ │ │ │ │ ├── ARCs:specs:arc-0059.md
│ │ │ │ │ ├── ARCs:specs:arc-0062.md
│ │ │ │ │ ├── ARCs:specs:arc-0065.md
│ │ │ │ │ ├── ARCs:specs:arc-0069.md
│ │ │ │ │ ├── ARCs:specs:arc-0072.md
│ │ │ │ │ ├── ARCs:specs:arc-0073.md
│ │ │ │ │ ├── ARCs:specs:arc-0074.md
│ │ │ │ │ ├── ARCs:specs:arc-0076.md
│ │ │ │ │ ├── ARCs:specs:arc-0078.md
│ │ │ │ │ ├── ARCs:specs:arc-0079.md
│ │ │ │ │ ├── ARCs:specs:arc-0200.md
│ │ │ │ │ ├── clis_index.md
│ │ │ │ │ ├── developer:docs:about.md
│ │ │ │ │ ├── developer:docs:clis:algokey:algokey.md
│ │ │ │ │ ├── developer:docs:clis:algokey:generate.md
│ │ │ │ │ ├── developer:docs:clis:algokey:import.md
│ │ │ │ │ ├── developer:docs:clis:algokey:multisig:append-auth-addr.md
│ │ │ │ │ ├── developer:docs:clis:algokey:multisig:multisig.md
│ │ │ │ │ ├── developer:docs:clis:algokey:part:info.md
│ │ │ │ │ ├── developer:docs:clis:algokey:part:part.md
│ │ │ │ │ ├── developer:docs:clis:algokey:part:reparent.md
│ │ │ │ │ ├── developer:docs:clis:algokey:sign.md
│ │ │ │ │ ├── developer:docs:clis:conduit:conduit.md
│ │ │ │ │ ├── developer:docs:clis:conduit:init.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:exporters.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:importers.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:list.md
│ │ │ │ │ ├── developer:docs:clis:conduit:list:processors.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:diagcfg.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:disable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:enable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:metric.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:metric:status.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:disable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:enable.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:endpoint.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:name.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:status.md
│ │ │ │ │ ├── developer:docs:clis:diagcfg:telemetry:telemetry.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:restart.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:start.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:status.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:stop.md
│ │ │ │ │ ├── developer:docs:clis:goal:node:wait.md
│ │ │ │ │ ├── developer:docs:clis:goal:protocols.md
│ │ │ │ │ ├── developer:docs:clis:goal:report.md
│ │ │ │ │ ├── developer:docs:clis:goal:version.md
│ │ │ │ │ ├── developer:docs:clis:goal:wallet:list.md
│ │ │ │ │ ├── developer:docs:clis:goal:wallet:new.md
│ │ │ │ │ ├── developer:docs:clis:goal:wallet:wallet.md
│ │ │ │ │ ├── developer:docs:clis:indexer:api-config.md
│ │ │ │ │ ├── developer:docs:clis:indexer:daemon.md
│ │ │ │ │ ├── developer:docs:clis:indexer:indexer.md
│ │ │ │ │ ├── developer:docs:clis:indexer:util:util.md
│ │ │ │ │ ├── developer:docs:clis:indexer:util:validator.md
│ │ │ │ │ ├── developer:docs:clis:kmd.md
│ │ │ │ │ ├── developer:docs:clis:tealdbg:debug.md
│ │ │ │ │ ├── developer:docs:clis:tealdbg:remote.md
│ │ │ │ │ ├── developer:docs:clis:tealdbg:tealdbg.md
│ │ │ │ │ ├── developer:docs:details:accounts:create.md
│ │ │ │ │ ├── developer:docs:details:accounts:index.md
│ │ │ │ │ ├── developer:docs:details:accounts:rekey.md
│ │ │ │ │ ├── developer:docs:details:algorand_consensus.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:betanet.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:index.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:mainnet.md
│ │ │ │ │ ├── developer:docs:details:algorand-networks:testnet.md
│ │ │ │ │ ├── developer:docs:details:asa.md
│ │ │ │ │ ├── developer:docs:details:atc.md
│ │ │ │ │ ├── developer:docs:details:atomic_transfers.md
│ │ │ │ │ ├── developer:docs:details:conduit.md
│ │ │ │ │ ├── developer:docs:details:crust.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:guidelines.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:jsonspec.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v1.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v10.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v2.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v3.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v4.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v5.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v6.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v7.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v8.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:opcodes:v9.md
│ │ │ │ │ ├── developer:docs:details:dapps:avm:teal:specification.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:ABI:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:create.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:innertx.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:state.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:apps:txs.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:debugging.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:frontend:apps.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:frontend:smartsigs.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:guidelines.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:smartsigs:index.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:smartsigs:modes.md
│ │ │ │ │ ├── developer:docs:details:dapps:smart-contracts:smartsigs:walkthrough.md
│ │ │ │ │ ├── developer:docs:details:dapps:writing-contracts:beaker.md
│ │ │ │ │ ├── developer:docs:details:dapps:writing-contracts:pyteal.md
│ │ │ │ │ ├── developer:docs:details:dapps:writing-contracts:python.md
│ │ │ │ │ ├── developer:docs:details:encoding.md
│ │ │ │ │ ├── developer:docs:details:ethereum_to_algorand.md
│ │ │ │ │ ├── developer:docs:details:index.md
│ │ │ │ │ ├── developer:docs:details:indexer.md
│ │ │ │ │ ├── developer:docs:details:parameter_tables.md
│ │ │ │ │ ├── developer:docs:details:stateproofs:index.md
│ │ │ │ │ ├── developer:docs:details:stateproofs:light_client.md
│ │ │ │ │ ├── developer:docs:details:technical_faq.md
│ │ │ │ │ ├── developer:docs:details:transactions:index.md
│ │ │ │ │ ├── developer:docs:details:transactions:offline_transactions.md
│ │ │ │ │ ├── developer:docs:details:transactions:payment_prompts.md
│ │ │ │ │ ├── developer:docs:details:transactions:signatures.md
│ │ │ │ │ ├── developer:docs:details:transactions:transactions.md
│ │ │ │ │ ├── developer:docs:details:useful_resources.md
│ │ │ │ │ ├── developer:docs:get-started:algokit.md
│ │ │ │ │ ├── developer:docs:get-started:basics:what_is_blockchain.md
│ │ │ │ │ ├── developer:docs:get-started:basics:whats_a_dapp.md
│ │ │ │ │ ├── developer:docs:get-started:basics:where_to_start.md
│ │ │ │ │ ├── developer:docs:get-started:basics:why_algorand.md
│ │ │ │ │ ├── developer:docs:get-started:tokenization:ft.md
│ │ │ │ │ ├── developer:docs:get-started:tokenization:nft.md
│ │ │ │ │ ├── developer:docs:index.md
│ │ │ │ │ ├── developer:docs:rest-apis:algod.md
│ │ │ │ │ ├── developer:docs:rest-apis:indexer.md
│ │ │ │ │ ├── developer:docs:rest-apis:kmd.md
│ │ │ │ │ ├── developer:docs:rest-apis:restendpoints.md
│ │ │ │ │ ├── developer:docs:run-a-node:operations:catchup.md
│ │ │ │ │ ├── developer:docs:run-a-node:operations:switch_networks.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:generate_keys.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:index.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:offline.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:online.md
│ │ │ │ │ ├── developer:docs:run-a-node:participate:renew.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:artifacts.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:config.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:relay.md
│ │ │ │ │ ├── developer:docs:run-a-node:reference:telemetry-config.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:indexer.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:install.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:node-troubleshooting.md
│ │ │ │ │ ├── developer:docs:run-a-node:setup:types.md
│ │ │ │ │ ├── developer:docs:sdks:go:index.md
│ │ │ │ │ ├── developer:docs:sdks:index.md
│ │ │ │ │ ├── developer:docs:sdks:java:index.md
│ │ │ │ │ ├── developer:docs:sdks:javascript:index.md
│ │ │ │ │ ├── developer:docs:sdks:python:index.md
│ │ │ │ │ ├── developer:python:code:example:accounts.md
│ │ │ │ │ ├── developer:python:code:example:arc4_types.md
│ │ │ │ │ ├── developer:python:code:example:assets.md
│ │ │ │ │ ├── developer:python:code:example:box_storage.md
│ │ │ │ │ ├── developer:python:code:example:control_flow.md
│ │ │ │ │ ├── developer:python:code:example:crypto:merkle_tree.md
│ │ │ │ │ ├── developer:python:code:example:defi:amm.md
│ │ │ │ │ ├── developer:python:code:example:defi:auction.md
│ │ │ │ │ ├── developer:python:code:example:defi:htlc_logicsig.md
│ │ │ │ │ ├── developer:python:code:example:defi:marketplace.md
│ │ │ │ │ ├── developer:python:code:example:events:arc28_events.md
│ │ │ │ │ ├── developer:python:code:example:global_storage.md
│ │ │ │ │ ├── developer:python:code:example:governance:simple_voting.md
│ │ │ │ │ ├── developer:python:code:example:hello_world.md
│ │ │ │ │ ├── developer:python:code:example:inner_transactions.md
│ │ │ │ │ ├── developer:python:code:example:local_storage.md
│ │ │ │ │ ├── developer:python:code:example:nft:proof_of_attendance.md
│ │ │ │ │ ├── developer:python:code:example:privacy:zk_whitelist.md
│ │ │ │ │ ├── developer:python:code:example:scratch_storage.md
│ │ │ │ │ ├── developer:python:code:example:self_payment.md
│ │ │ │ │ ├── developer:python:code:example:struct_in_box.md
│ │ │ │ │ ├── developer:python:code:example:subsidize_app_call.md
│ │ │ │ │ ├── developer:python:code:example:transactions.md
│ │ │ │ │ ├── developer:python:code:example:utility:calculator.md
│ │ │ │ │ ├── devportal-code-examples:projects:python-contract-examples:README.md
│ │ │ │ │ ├── devportal-code-examples:README.md
│ │ │ │ │ ├── docs:.walletconnect:index.md
│ │ │ │ │ ├── docs:.walletconnect:walletconnect-schema.md
│ │ │ │ │ ├── docs:README.md
│ │ │ │ │ ├── docs:scripts:example_tracker:example_list.md
│ │ │ │ │ ├── docs:scripts:README.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ ├── liquid_auth_index.md
│ │ │ │ │ ├── liquid-auth:ARCHITECTURE.md
│ │ │ │ │ ├── liquid-auth:decisions:1-Service-Authentication.md
│ │ │ │ │ ├── liquid-auth:decisions:2-Bidirectional-Communication.md
│ │ │ │ │ ├── liquid-auth:decisions:3-Peer-to-Peer-Signaling.md
│ │ │ │ │ ├── liquid-auth:decisions:4-Fido-Extension.md
│ │ │ │ │ ├── liquid-auth:decisions:README.md
│ │ │ │ │ ├── liquid-auth:docs:architecture.md
│ │ │ │ │ ├── liquid-auth:docs:clients:android:provider-service:authenticate.md
│ │ │ │ │ ├── liquid-auth:docs:clients:android:provider-service:register.md
│ │ │ │ │ ├── liquid-auth:docs:clients:browser:authentication.md
│ │ │ │ │ ├── liquid-auth:docs:clients:browser:example.md
│ │ │ │ │ ├── liquid-auth:docs:introduction.md
│ │ │ │ │ ├── liquid-auth:docs:README.md
│ │ │ │ │ ├── liquid-auth:docs:server:environment-variables.md
│ │ │ │ │ ├── liquid-auth:docs:server:integrations.md
│ │ │ │ │ ├── liquid-auth:docs:server:introduction.md
│ │ │ │ │ ├── liquid-auth:docs:server:running-locally.md
│ │ │ │ │ ├── liquid-auth:README.md
│ │ │ │ │ ├── liquid-auth:SEQUENCE.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.request.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:assertion:assertion.controller.post.response.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:attestation:attestation.controller.post.request.md
│ │ │ │ │ ├── liquid-auth:services:liquid-auth-api-js:src:auth:auth.controller.get.user.md
│ │ │ │ │ ├── liquid-auth:sites:express-dapp:README.md
│ │ │ │ │ ├── liquid-auth:VISION.md
│ │ │ │ │ ├── puya_index.md
│ │ │ │ │ ├── puya:docs:algopy_testing:index.md
│ │ │ │ │ ├── puya:docs:api-algopy.arc4.md
│ │ │ │ │ ├── puya:docs:api-algopy.gtxn.md
│ │ │ │ │ ├── puya:docs:api-algopy.itxn.md
│ │ │ │ │ ├── puya:docs:api-algopy.md
│ │ │ │ │ ├── puya:docs:api-algopy.op.md
│ │ │ │ │ ├── puya:docs:api.md
│ │ │ │ │ ├── puya:docs:compiler.md
│ │ │ │ │ ├── puya:docs:index.md
│ │ │ │ │ ├── puya:docs:language-guide.md
│ │ │ │ │ ├── puya:docs:lg-arc28.md
│ │ │ │ │ ├── puya:docs:lg-arc4.md
│ │ │ │ │ ├── puya:docs:lg-builtins.md
│ │ │ │ │ ├── puya:docs:lg-calling-apps.md
│ │ │ │ │ ├── puya:docs:lg-compile.md
│ │ │ │ │ ├── puya:docs:lg-control.md
│ │ │ │ │ ├── puya:docs:lg-errors.md
│ │ │ │ │ ├── puya:docs:lg-logs.md
│ │ │ │ │ ├── puya:docs:lg-modules.md
│ │ │ │ │ ├── puya:docs:lg-opcode-budget.md
│ │ │ │ │ ├── puya:docs:lg-ops.md
│ │ │ │ │ ├── puya:docs:lg-storage.md
│ │ │ │ │ ├── puya:docs:lg-structure.md
│ │ │ │ │ ├── puya:docs:lg-transactions.md
│ │ │ │ │ ├── puya:docs:lg-types.md
│ │ │ │ │ ├── puya:docs:lg-unsupported-python-features.md
│ │ │ │ │ ├── puya:docs:principles.md
│ │ │ │ │ ├── puya:examples:auction:README.md
│ │ │ │ │ ├── puya:python:testing:docs:algopy.md
│ │ │ │ │ ├── puya:python:testing:docs:api.md
│ │ │ │ │ ├── puya:python:testing:docs:coverage.md
│ │ │ │ │ ├── puya:python:testing:docs:examples.md
│ │ │ │ │ ├── puya:python:testing:docs:faq.md
│ │ │ │ │ ├── puya:python:testing:docs:index.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:arc4-types.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:avm-types.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:concepts.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:contract-testing.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:index.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:opcodes.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:signature-testing.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:state-management.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:subroutines.md
│ │ │ │ │ ├── puya:python:testing:docs:testing-guide:transactions.md
│ │ │ │ │ ├── puya:python:testing:examples:README.md
│ │ │ │ │ ├── puya:python:testing:README.md
│ │ │ │ │ ├── puya:README.md
│ │ │ │ │ ├── puya:src:puya:ARCHITECTURE.md
│ │ │ │ │ ├── puya:src:puyapy:_typeshed:README.md
│ │ │ │ │ ├── puya:src:puyapy:_vendor:mypy:typeshed:stdlib:_typeshed:README.md
│ │ │ │ │ ├── puya:src:puyapy:awst_build:README.md
│ │ │ │ │ ├── puya:stubs:README.md
│ │ │ │ │ ├── puya:tests:test_expected_output:README.md
│ │ │ │ │ ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-bytes-and-strings.md
│ │ │ │ │ ├── puya:typescript:docs:architecture-decisions:2024-05-21_primitive-integer-types.md
│ │ │ │ │ ├── puya:typescript:docs:README.md
│ │ │ │ │ ├── puya:typescript:packages:algo-ts:readme.md
│ │ │ │ │ ├── puya:typescript:README.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIAddressType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIArrayDynamicType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIArrayStaticType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIBoolType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIByteType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIContract.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIInterface.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIMethod.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIStringType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABITupleType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIUfixedType.md
│ │ │ │ │ ├── SDKs:javascript:classes:ABIUintType.md
│ │ │ │ │ ├── SDKs:javascript:classes:Algodv2.md
│ │ │ │ │ ├── SDKs:javascript:classes:AtomicTransactionComposer.md
│ │ │ │ │ ├── SDKs:javascript:classes:DryrunResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:Indexer.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Account.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountParticipation.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AccountStateDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Application.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLocalState.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLocalStatesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLogData.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationLogsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ApplicationStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Asset.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetBalancesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetHoldingsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.AssetsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Block.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BlockRewards.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BlockUpgradeState.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BlockUpgradeVote.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Box.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BoxDescriptor.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.BoxesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ErrorResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.EvalDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.EvalDeltaKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.HashFactory.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.HealthCheck.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.IndexerStateProofMessage.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.MerkleArrayProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.MiniAssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.ParticipationUpdates.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofFields.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofParticipant.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofReveal.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofSignature.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofSigSlot.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofTracking.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateProofVerifier.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.StateSchema.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TealKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TealValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.Transaction.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionApplication.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionAssetConfig.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionAssetFreeze.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionAssetTransfer.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionKeyreg.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionPayment.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignature.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignatureLogicsig.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisig.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionSignatureMultisigSubsignature.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:indexerModels.TransactionStateProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:Kmd.md
│ │ │ │ │ ├── SDKs:javascript:classes:LogicSig.md
│ │ │ │ │ ├── SDKs:javascript:classes:LogicSigAccount.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Account.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountApplicationResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountAssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountAssetResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountAssetsInformationResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountParticipation.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AccountStateDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AppCallLogs.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Application.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationInitialStates.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationKVStorage.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationLocalReference.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationLocalState.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationStateOperation.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ApplicationStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Asset.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AssetHolding.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AssetHoldingReference.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AssetParams.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AvmKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.AvmValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockHashResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockLogsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BlockTxidsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Box.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BoxDescriptor.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BoxesResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BoxReference.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.BuildVersion.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.CompileResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DisassembleResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunRequest.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunSource.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunState.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.DryrunTxnResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ErrorResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.EvalDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.EvalDeltaKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.GetBlockTimeStampOffsetResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.GetSyncRoundResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.KvDelta.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.LedgerStateDeltaForTransactionGroup.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.LightBlockHeaderProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.NodeStatusResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.PendingTransactionResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.PendingTransactionsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.PostTransactionsResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.ScratchChange.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateInitialStates.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateRequest.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateRequestTransactionGroup.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateTraceConfig.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateTransactionGroupResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateTransactionResult.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulateUnnamedResourcesAccessed.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulationEvalOverrides.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulationOpcodeTraceUnit.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SimulationTransactionExecTrace.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.StateProof.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.StateProofMessage.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.SupplyResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TealKeyValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TealValue.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TransactionGroupLedgerStateDeltasForRoundResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TransactionParametersResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.TransactionProofResponse.md
│ │ │ │ │ ├── SDKs:javascript:classes:modelsv2.Version.md
│ │ │ │ │ ├── SDKs:javascript:classes:SourceMap.md
│ │ │ │ │ ├── SDKs:javascript:classes:Transaction.md
│ │ │ │ │ ├── SDKs:javascript:enums:ABIReferenceType.md
│ │ │ │ │ ├── SDKs:javascript:enums:ABITransactionType.md
│ │ │ │ │ ├── SDKs:javascript:enums:AtomicTransactionComposerStatus.md
│ │ │ │ │ ├── SDKs:javascript:enums:IntDecoding.md
│ │ │ │ │ ├── SDKs:javascript:enums:OnApplicationComplete.md
│ │ │ │ │ ├── SDKs:javascript:enums:TransactionType.md
│ │ │ │ │ ├── SDKs:javascript:examples:README.md
│ │ │ │ │ ├── SDKs:javascript:FAQ.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIContractNetworkInfo.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIContractNetworks.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIContractParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIInterfaceParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIMethodArgParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIMethodParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIMethodReturnParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:ABIResult.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:Account.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:Address.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:AlgodTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BaseHTTPClient.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BaseHTTPClientError.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BaseHTTPClientResponse.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:BoxReference.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:CustomTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedAssetParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedBoxReference.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedGlobalStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedLocalStateSchema.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedLogicSig.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedLogicSigAccount.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedMultisig.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedSignedTransaction.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedSubsig.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:EncodedTransaction.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:IndexerTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:KMDTokenHeader.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:MultisigMetadata.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:SignedTransaction.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:SuggestedParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:TransactionParams.md
│ │ │ │ │ ├── SDKs:javascript:interfaces:TransactionWithSigner.md
│ │ │ │ │ ├── SDKs:javascript:modules:indexerModels.md
│ │ │ │ │ ├── SDKs:javascript:modules:modelsv2.md
│ │ │ │ │ ├── SDKs:javascript:modules.md
│ │ │ │ │ ├── SDKs:javascript:README.md
│ │ │ │ │ ├── SDKs:python:algosdk:v2client:harness:README.md
│ │ │ │ │ ├── SDKs:python:examples:README.md
│ │ │ │ │ ├── SDKs:python:README.md
│ │ │ │ │ ├── tealscript:examples_amm_README.md
│ │ │ │ │ ├── tealscript:examples_auction_README.md
│ │ │ │ │ ├── tealscript:examples_big_box_README.md
│ │ │ │ │ ├── tealscript:examples_itxns_README.md
│ │ │ │ │ ├── tealscript:examples_lsig_with_app_README.md
│ │ │ │ │ ├── tealscript:examples_reti_README.md
│ │ │ │ │ ├── tealscript:FEATURES.md
│ │ │ │ │ ├── tealscript:guides_atomic_txn.md
│ │ │ │ │ ├── tealscript:guides_features.md
│ │ │ │ │ ├── tealscript:guides_getting_started.md
│ │ │ │ │ ├── tealscript:guides_inner_transactions.md
│ │ │ │ │ ├── tealscript:guides_lifecycle.md
│ │ │ │ │ ├── tealscript:guides_math.md
│ │ │ │ │ ├── tealscript:guides_methods.md
│ │ │ │ │ ├── tealscript:guides_multiple_contracts.md
│ │ │ │ │ ├── tealscript:guides_pyteal.md
│ │ │ │ │ ├── tealscript:guides_storage.md
│ │ │ │ │ ├── tealscript:guides_Supported Types_arrays.md
│ │ │ │ │ ├── tealscript:guides_Supported Types_numbers.md
│ │ │ │ │ ├── TEALScript:README.md
│ │ │ │ │ ├── tealscript:tests_test_package_README.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0001-intro.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0002-init.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0003-contract.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0004-artifacts.md
│ │ │ │ │ ├── tealscript:tutorials_Hello World_0005-hello.md
│ │ │ │ │ └── tealscript:tutorials_Hello World_0006-test.md
│ │ │ │ └── taxonomy-categories
│ │ │ │ ├── algokit-utils.json
│ │ │ │ ├── algokit.json
│ │ │ │ ├── arcs.json
│ │ │ │ ├── clis.json
│ │ │ │ ├── details.json
│ │ │ │ ├── developers.json
│ │ │ │ ├── liquid-auth.json
│ │ │ │ ├── nodes.json
│ │ │ │ ├── puya.json
│ │ │ │ ├── python.json
│ │ │ │ ├── sdks.json
│ │ │ │ └── tealscript.json
│ │ │ └── wallet
│ │ │ └── index.ts
│ │ ├── tools
│ │ │ ├── accountManager.ts
│ │ │ ├── algodManager.ts
│ │ │ ├── apiManager
│ │ │ │ ├── algod
│ │ │ │ │ ├── account.ts
│ │ │ │ │ ├── application.ts
│ │ │ │ │ ├── asset.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── transaction.ts
│ │ │ │ ├── example
│ │ │ │ │ ├── get-balance.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── indexer
│ │ │ │ │ ├── account.ts
│ │ │ │ │ ├── application.ts
│ │ │ │ │ ├── asset.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── transaction.ts
│ │ │ │ ├── nfd
│ │ │ │ │ └── index.ts
│ │ │ │ ├── tinyman
│ │ │ │ │ ├── analytics.ts
│ │ │ │ │ ├── bootstrap.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── liquidity.ts
│ │ │ │ │ ├── opt_in.ts
│ │ │ │ │ ├── pool.ts
│ │ │ │ │ ├── remove_liquidity.ts
│ │ │ │ │ └── swap.ts
│ │ │ │ ├── ultrade
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── market.ts
│ │ │ │ │ ├── system.ts
│ │ │ │ │ └── wallet.ts
│ │ │ │ └── vestige
│ │ │ │ ├── assets.ts
│ │ │ │ ├── balances.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── networks.ts
│ │ │ │ ├── notes.ts
│ │ │ │ ├── pools.ts
│ │ │ │ ├── protocols.ts
│ │ │ │ ├── swaps.ts
│ │ │ │ └── vaults.ts
│ │ │ ├── arc26Manager.ts
│ │ │ ├── index.ts
│ │ │ ├── knowledgeManager.ts
│ │ │ ├── transactionManager
│ │ │ │ ├── accountTransactions.ts
│ │ │ │ ├── appTransactions
│ │ │ │ │ ├── callTxn.ts
│ │ │ │ │ ├── clearTxn.ts
│ │ │ │ │ ├── closeOutTxn.ts
│ │ │ │ │ ├── createTxn.ts
│ │ │ │ │ ├── deleteTxn.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── optInTxn.ts
│ │ │ │ │ ├── test
│ │ │ │ │ │ ├── counter_approval.teal
│ │ │ │ │ │ ├── counter_clear.teal
│ │ │ │ │ │ ├── storage_test_approval_v2.teal
│ │ │ │ │ │ ├── storage_test_approval.teal
│ │ │ │ │ │ └── storage_test_clear.teal
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── updateTxn.ts
│ │ │ │ ├── assetTransactions.ts
│ │ │ │ ├── generalTransaction.ts
│ │ │ │ └── index.ts
│ │ │ └── utilityManager.ts
│ │ ├── types.ts
│ │ └── utils
│ │ └── responseProcessor.ts
│ ├── tests
│ │ ├── resources
│ │ │ ├── algod
│ │ │ │ ├── account.test.ts
│ │ │ │ ├── application.test.ts
│ │ │ │ ├── asset.test.ts
│ │ │ │ └── transaction.test.ts
│ │ │ └── indexer
│ │ │ ├── account.test.ts
│ │ │ ├── application.test.ts
│ │ │ ├── asset.test.ts
│ │ │ └── transaction.test.ts
│ │ └── tools
│ │ ├── accountManager.test.ts
│ │ ├── algodManager.test.ts
│ │ ├── apiManager
│ │ │ └── example
│ │ │ └── get-balance.test.ts
│ │ ├── transactionManager
│ │ │ ├── accountTransactionManager.test.ts
│ │ │ ├── appTransactionManager.test.ts
│ │ │ ├── assetTransactionManager.test.ts
│ │ │ ├── generalTransactionManager.test.ts
│ │ │ └── transactionManager.test.ts
│ │ └── utilityManager.test.ts
│ └── tsconfig.json
├── README.md
├── rename_files.sh
└── tsconfig.json
```
# Files
--------------------------------------------------------------------------------
/packages/server/API specs/nfd_api.json:
--------------------------------------------------------------------------------
```json
1 | {
2 | "openapi": "3.0.3",
3 | "info": {
4 | "title": "NFD Management Service",
5 | "description": "Service for querying and managing NFDs",
6 | "contact": {
7 | "name": "Support",
8 | "url": "https://discord.gg/7XcuMTfeZP",
9 | "email": "[email protected]"
10 | },
11 | "version": "1.0"
12 | },
13 | "servers": [
14 | {
15 | "url": "https://api.nf.domains"
16 | },
17 | {
18 | "url": "https://api.testnet.nf.domains"
19 | },
20 | {
21 | "url": "https://api.betanet.nf.domains"
22 | },
23 | {
24 | "url": "http://localhost:80"
25 | }
26 | ],
27 | "paths": {
28 | "/info/openapi3.yaml": {
29 | "get": {
30 | "tags": [
31 | "info"
32 | ],
33 | "summary": "Download ./pubfiles/openapi3.yaml",
34 | "description": "YAML document containing the API swagger definition",
35 | "operationId": "info#/info/openapi3.yaml",
36 | "responses": {
37 | "200": {
38 | "description": "File downloaded"
39 | }
40 | }
41 | }
42 | },
43 | "/info/version": {
44 | "get": {
45 | "tags": [
46 | "info"
47 | ],
48 | "summary": "version info",
49 | "description": "Returns version information for the service",
50 | "operationId": "info#version",
51 | "responses": {
52 | "200": {
53 | "description": "OK response.",
54 | "content": {
55 | "application/json": {
56 | "schema": {
57 | "$ref": "#/components/schemas/VersionResponseBody"
58 | },
59 | "example": {
60 | "appVersion": "5cfa595 [2022-03-20T17:02:35Z]",
61 | "contractVersion": "1.0"
62 | }
63 | }
64 | }
65 | }
66 | }
67 | }
68 | },
69 | "/nfd/{nameOrID}": {
70 | "get": {
71 | "tags": [
72 | "nfd"
73 | ],
74 | "summary": "Get a specific NFD by name or by its application ID",
75 | "description": "Get a specific NFD by name or by its application ID",
76 | "operationId": "nfd#getNFD",
77 | "parameters": [
78 | {
79 | "name": "view",
80 | "in": "query",
81 | "description": "View of data to return, tiny, brief (default), or full",
82 | "allowEmptyValue": true,
83 | "schema": {
84 | "type": "string",
85 | "description": "View of data to return, tiny, brief (default), or full",
86 | "default": "brief",
87 | "enum": [
88 | "tiny",
89 | "brief",
90 | "full"
91 | ]
92 | }
93 | },
94 | {
95 | "name": "poll",
96 | "in": "query",
97 | "description": "Use if polling waiting for state change - causes notFound to return as 204 instead of 404. Should only be used when waiting for an NFD to transition from not-existing to being reserved for user to claim",
98 | "allowEmptyValue": true,
99 | "schema": {
100 | "type": "boolean",
101 | "description": "Use if polling waiting for state change - causes notFound to return as 204 instead of 404. Should only be used when waiting for an NFD to transition from not-existing to being reserved for user to claim",
102 | "default": false
103 | }
104 | },
105 | {
106 | "name": "nocache",
107 | "in": "query",
108 | "description": "Set to true to return a never-cached result. Use sparingly and only during certain 'NFD already exists' UX state transitions.",
109 | "allowEmptyValue": true,
110 | "schema": {
111 | "type": "boolean",
112 | "description": "Set to true to return a never-cached result. Use sparingly and only during certain 'NFD already exists' UX state transitions.",
113 | "default": false
114 | }
115 | },
116 | {
117 | "name": "nameOrID",
118 | "in": "path",
119 | "required": true,
120 | "schema": {
121 | "type": "string",
122 | "description": "Name of a NFD (alphanumeric only or emojis/alphanumeric), or an NFD Application ID",
123 | "example": "silvio.algo",
124 | "pattern": "^(.+\\.algo)|(\\d+)$",
125 | "minLength": 1,
126 | "maxLength": 120
127 | },
128 | "example": "silvio.algo"
129 | },
130 | {
131 | "name": "if-none-match",
132 | "in": "header",
133 | "description": "etag",
134 | "allowEmptyValue": true,
135 | "schema": {
136 | "type": "string",
137 | "description": "etag"
138 | }
139 | }
140 | ],
141 | "responses": {
142 | "200": {
143 | "description": "OK response.",
144 | "headers": {
145 | "ETag": {
146 | "description": "ETag",
147 | "schema": {
148 | "type": "string",
149 | "description": "ETag",
150 | "example": "abc123"
151 | },
152 | "example": "abc123"
153 | },
154 | "cache-control": {
155 | "description": "Cache-Control header",
156 | "schema": {
157 | "type": "string",
158 | "description": "Cache-Control header",
159 | "example": "abc123"
160 | },
161 | "example": "abc123"
162 | }
163 | },
164 | "content": {
165 | "application/json": {
166 | "schema": {
167 | "$ref": "#/components/schemas/NfdRecord"
168 | },
169 | "example": {
170 | "appID": 1000000,
171 | "asaID": 1,
172 | "avatarOutdated": false,
173 | "caAlgo": [
174 | "333333333333333333333333333333333333333333333333333333333A"
175 | ],
176 | "category": "premium",
177 | "currentAsOfBlock": 1,
178 | "depositAccount": "333333333333333333333333333333333333333333333333333333333A",
179 | "expired": false,
180 | "match-check": "abc123",
181 | "metaTags": [
182 | "abc123"
183 | ],
184 | "name": "abc123",
185 | "nfdAccount": "333333333333333333333333333333333333333333333333333333333A",
186 | "owner": "333333333333333333333333333333333333333333333333333333333A",
187 | "parentAppID": 1000000,
188 | "properties": {
189 | "internal": {
190 | "abc123": "abc123"
191 | },
192 | "userDefined": {
193 | "ca:b": "abc123"
194 | },
195 | "verified": {
196 | "caAlgo": "abc123"
197 | }
198 | },
199 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
200 | "saleType": "buyItNow",
201 | "sellAmount": 1,
202 | "seller": "333333333333333333333333333333333333333333333333333333333A",
203 | "sigNameAddress": "333333333333333333333333333333333333333333333333333333333A",
204 | "state": "minting",
205 | "tags": [
206 | "abc123"
207 | ],
208 | "timeChanged": "1970-01-01T00:00:01Z",
209 | "timeCreated": "1970-01-01T00:00:01Z",
210 | "timeExpires": "1970-01-01T00:00:01Z",
211 | "timePurchased": "1970-01-01T00:00:01Z",
212 | "unverifiedCa": {
213 | "btc": [
214 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
215 | ]
216 | },
217 | "unverifiedCaAlgo": [
218 | "333333333333333333333333333333333333333333333333333333333A"
219 | ]
220 | }
221 | }
222 | }
223 | },
224 | "204": {
225 | "description": "Polling, NFD not found",
226 | "headers": {
227 | "ETag": {
228 | "description": "ETag",
229 | "schema": {
230 | "type": "string",
231 | "description": "ETag",
232 | "example": "abc123"
233 | },
234 | "example": "abc123"
235 | },
236 | "cache-control": {
237 | "description": "Cache-Control header",
238 | "schema": {
239 | "type": "string",
240 | "description": "Cache-Control header",
241 | "example": "abc123"
242 | },
243 | "example": "abc123"
244 | }
245 | }
246 | },
247 | "304": {
248 | "description": "ETag not changed"
249 | },
250 | "400": {
251 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
252 | "content": {
253 | "application/vnd.goa.error": {
254 | "schema": {
255 | "$ref": "#/components/schemas/Error"
256 | }
257 | }
258 | }
259 | },
260 | "404": {
261 | "description": "notFound: Not Found response.",
262 | "content": {
263 | "application/vnd.goa.error": {
264 | "schema": {
265 | "$ref": "#/components/schemas/Error"
266 | }
267 | }
268 | }
269 | },
270 | "429": {
271 | "description": "rateLimited: Too Many Requests response.",
272 | "content": {
273 | "application/json": {
274 | "schema": {
275 | "$ref": "#/components/schemas/RateLimited"
276 | },
277 | "example": {
278 | "limit": 5,
279 | "secsRemaining": 50
280 | }
281 | }
282 | }
283 | }
284 | }
285 | }
286 | },
287 | "/nfd/activity": {
288 | "get": {
289 | "tags": [
290 | "nfd"
291 | ],
292 | "summary": "Fetch change activity for an NFD",
293 | "description": "Fetch change activity for an NFD, specifically general 'block-level' deltas for an NFD",
294 | "operationId": "nfd#activity",
295 | "parameters": [
296 | {
297 | "name": "name",
298 | "in": "query",
299 | "description": "Name(s) of NFDs to fetch activity for. Specify the same query parameter multiple times for each nane, ie: name=xxx&name=yyy&name=zzz\")",
300 | "allowEmptyValue": true,
301 | "required": true,
302 | "schema": {
303 | "type": "array",
304 | "items": {
305 | "type": "string",
306 | "example": "abc123"
307 | },
308 | "description": "Name(s) of NFDs to fetch activity for. Specify the same query parameter multiple times for each nane, ie: name=xxx&name=yyy&name=zzz\")",
309 | "example": [
310 | "silvio.algo"
311 | ],
312 | "minItems": 1,
313 | "maxItems": 20
314 | },
315 | "example": [
316 | "silvio.algo"
317 | ]
318 | },
319 | {
320 | "name": "type",
321 | "in": "query",
322 | "description": "type of activity to retrieve",
323 | "allowEmptyValue": true,
324 | "schema": {
325 | "type": "string",
326 | "description": "type of activity to retrieve",
327 | "default": "changes",
328 | "example": "changes",
329 | "enum": [
330 | "changes"
331 | ]
332 | },
333 | "example": "changes"
334 | },
335 | {
336 | "name": "afterTime",
337 | "in": "query",
338 | "description": "Fetch events that occurred only after the specified time",
339 | "allowEmptyValue": true,
340 | "schema": {
341 | "type": "string",
342 | "description": "Fetch events that occurred only after the specified time",
343 | "example": "1970-01-01T00:00:01Z",
344 | "format": "date-time"
345 | },
346 | "example": "1970-01-01T00:00:01Z"
347 | },
348 | {
349 | "name": "limit",
350 | "in": "query",
351 | "description": "Limit the number of results returned, per NFD - max 50",
352 | "allowEmptyValue": true,
353 | "schema": {
354 | "type": "integer",
355 | "description": "Limit the number of results returned, per NFD - max 50",
356 | "default": 10,
357 | "example": 10,
358 | "format": "int64",
359 | "minimum": 1,
360 | "maximum": 50
361 | },
362 | "example": 10
363 | },
364 | {
365 | "name": "sort",
366 | "in": "query",
367 | "description": "What to sort on - descending timestamp is default",
368 | "allowEmptyValue": true,
369 | "schema": {
370 | "type": "string",
371 | "description": "What to sort on - descending timestamp is default",
372 | "default": "timeDesc",
373 | "example": "timeAsc",
374 | "enum": [
375 | "timeDesc",
376 | "timeAsc"
377 | ]
378 | },
379 | "example": "timeAsc"
380 | },
381 | {
382 | "name": "if-none-match",
383 | "in": "header",
384 | "description": "etag",
385 | "allowEmptyValue": true,
386 | "schema": {
387 | "type": "string",
388 | "description": "etag"
389 | }
390 | }
391 | ],
392 | "responses": {
393 | "200": {
394 | "description": "OK response.",
395 | "headers": {
396 | "ETag": {
397 | "description": "ETag",
398 | "schema": {
399 | "type": "string",
400 | "description": "ETag",
401 | "example": "abc123"
402 | },
403 | "example": "abc123"
404 | },
405 | "cache-control": {
406 | "description": "Cache-Control header",
407 | "schema": {
408 | "type": "string",
409 | "description": "Cache-Control header",
410 | "example": "abc123"
411 | },
412 | "example": "abc123"
413 | }
414 | },
415 | "content": {
416 | "application/json": {
417 | "schema": {
418 | "type": "array",
419 | "items": {
420 | "$ref": "#/components/schemas/NFDActivity"
421 | },
422 | "example": [
423 | {
424 | "block": 1,
425 | "cache-control": "abc123",
426 | "changes": {
427 | "abc123": "abc123"
428 | },
429 | "etag": "abc123",
430 | "match-check": "abc123",
431 | "name": "abc123",
432 | "timeChanged": "1970-01-01T00:00:01Z"
433 | }
434 | ]
435 | },
436 | "example": [
437 | {
438 | "block": 1,
439 | "cache-control": "abc123",
440 | "changes": {
441 | "abc123": "abc123"
442 | },
443 | "etag": "abc123",
444 | "match-check": "abc123",
445 | "name": "abc123",
446 | "timeChanged": "1970-01-01T00:00:01Z"
447 | }
448 | ]
449 | }
450 | }
451 | },
452 | "304": {
453 | "description": "ETag not changed"
454 | },
455 | "400": {
456 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
457 | "content": {
458 | "application/vnd.goa.error": {
459 | "schema": {
460 | "$ref": "#/components/schemas/Error"
461 | }
462 | }
463 | }
464 | },
465 | "404": {
466 | "description": "notFound: Not Found response.",
467 | "content": {
468 | "application/vnd.goa.error": {
469 | "schema": {
470 | "$ref": "#/components/schemas/Error"
471 | }
472 | }
473 | }
474 | },
475 | "429": {
476 | "description": "rateLimited: Too Many Requests response.",
477 | "content": {
478 | "application/json": {
479 | "schema": {
480 | "$ref": "#/components/schemas/RateLimited"
481 | },
482 | "example": {
483 | "limit": 5,
484 | "secsRemaining": 50
485 | }
486 | }
487 | }
488 | }
489 | }
490 | }
491 | },
492 | "/nfd/analytics": {
493 | "get": {
494 | "tags": [
495 | "nfd"
496 | ],
497 | "summary": "Fetch NFD analytics via various filters",
498 | "description": "Fetch NFD analytics via various filters",
499 | "operationId": "nfd#analytics",
500 | "parameters": [
501 | {
502 | "name": "name",
503 | "in": "query",
504 | "description": "name or partial match of NFD name to filter on",
505 | "allowEmptyValue": true,
506 | "schema": {
507 | "type": "string",
508 | "description": "name or partial match of NFD name to filter on",
509 | "example": "abc123"
510 | },
511 | "example": "abc123"
512 | },
513 | {
514 | "name": "buyer",
515 | "in": "query",
516 | "description": "Buyer address to filter on",
517 | "allowEmptyValue": true,
518 | "schema": {
519 | "type": "string",
520 | "description": "An Algorand Account address",
521 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
522 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
523 | },
524 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
525 | },
526 | {
527 | "name": "seller",
528 | "in": "query",
529 | "description": "Seller address to filter on",
530 | "allowEmptyValue": true,
531 | "schema": {
532 | "type": "string",
533 | "description": "An Algorand Account address",
534 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
535 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
536 | },
537 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
538 | },
539 | {
540 | "name": "event",
541 | "in": "query",
542 | "description": "one or more events to filter on",
543 | "allowEmptyValue": true,
544 | "schema": {
545 | "type": "array",
546 | "items": {
547 | "type": "string",
548 | "example": "renewed",
549 | "enum": [
550 | "minted",
551 | "renewed",
552 | "offeredForSale",
553 | "canceledSale",
554 | "escrowedOffer",
555 | "sold",
556 | "postedOffer"
557 | ]
558 | },
559 | "description": "one or more events to filter on",
560 | "example": [
561 | "renewed"
562 | ]
563 | },
564 | "example": [
565 | "renewed"
566 | ]
567 | },
568 | {
569 | "name": "requireBuyer",
570 | "in": "query",
571 | "description": "Whether the buyer property must be present in the data. Setting this will exclude auction mint events for eg",
572 | "allowEmptyValue": true,
573 | "schema": {
574 | "type": "boolean",
575 | "description": "Whether the buyer property must be present in the data. Setting this will exclude auction mint events for eg",
576 | "example": false
577 | },
578 | "example": false
579 | },
580 | {
581 | "name": "includeOwner",
582 | "in": "query",
583 | "description": "Whether to add a currentOwner property to each event with the 'current' owner of the NFD referenced by that event",
584 | "allowEmptyValue": true,
585 | "schema": {
586 | "type": "boolean",
587 | "description": "Whether to add a currentOwner property to each event with the 'current' owner of the NFD referenced by that event",
588 | "example": false
589 | },
590 | "example": false
591 | },
592 | {
593 | "name": "excludeNFDAsSeller",
594 | "in": "query",
595 | "description": "Whether to exclude events where NFDomains is the seller. If set to true, and filtering on 'sold' event for eg, returned items will will be secondary sales only.",
596 | "allowEmptyValue": true,
597 | "schema": {
598 | "type": "boolean",
599 | "description": "Whether to exclude events where NFDomains is the seller. If set to true, and filtering on 'sold' event for eg, returned items will will be secondary sales only.",
600 | "default": false,
601 | "example": false
602 | },
603 | "example": false
604 | },
605 | {
606 | "name": "category",
607 | "in": "query",
608 | "allowEmptyValue": true,
609 | "schema": {
610 | "type": "array",
611 | "items": {
612 | "type": "string",
613 | "description": "Category of NFD",
614 | "example": "premium",
615 | "enum": [
616 | "curated",
617 | "premium",
618 | "common"
619 | ]
620 | },
621 | "example": [
622 | "abc123"
623 | ]
624 | },
625 | "example": [
626 | "abc123"
627 | ]
628 | },
629 | {
630 | "name": "saleType",
631 | "in": "query",
632 | "allowEmptyValue": true,
633 | "schema": {
634 | "type": "array",
635 | "items": {
636 | "type": "string",
637 | "description": "Sale type of NFD",
638 | "example": "buyItNow",
639 | "enum": [
640 | "auction",
641 | "buyItNow"
642 | ]
643 | },
644 | "example": [
645 | "abc123"
646 | ]
647 | },
648 | "example": [
649 | "abc123"
650 | ]
651 | },
652 | {
653 | "name": "length",
654 | "in": "query",
655 | "description": "Length of NFD",
656 | "allowEmptyValue": true,
657 | "schema": {
658 | "type": "array",
659 | "items": {
660 | "type": "string",
661 | "example": "2_letters",
662 | "enum": [
663 | "1_letters",
664 | "2_letters",
665 | "3_letters",
666 | "4_letters",
667 | "5_letters",
668 | "6_letters",
669 | "7_letters",
670 | "8_letters",
671 | "9_letters",
672 | "10+_letters"
673 | ]
674 | },
675 | "description": "Length of NFD",
676 | "example": [
677 | "2_letters"
678 | ]
679 | },
680 | "example": [
681 | "2_letters"
682 | ]
683 | },
684 | {
685 | "name": "traits",
686 | "in": "query",
687 | "description": "Traits of NFD",
688 | "allowEmptyValue": true,
689 | "schema": {
690 | "type": "array",
691 | "items": {
692 | "type": "string",
693 | "example": "pristine",
694 | "enum": [
695 | "emoji",
696 | "pristine",
697 | "segment"
698 | ]
699 | },
700 | "description": "Traits of NFD",
701 | "example": [
702 | "pristine"
703 | ]
704 | },
705 | "example": [
706 | "pristine"
707 | ]
708 | },
709 | {
710 | "name": "parentAppID",
711 | "in": "query",
712 | "description": "The parent NFD Application ID to find. Used for fetching segments of an NFD",
713 | "allowEmptyValue": true,
714 | "schema": {
715 | "type": "integer",
716 | "description": "The parent NFD Application ID to find. Used for fetching segments of an NFD",
717 | "example": 1000000,
718 | "format": "int64"
719 | },
720 | "example": 1000000
721 | },
722 | {
723 | "name": "minPrice",
724 | "in": "query",
725 | "description": "Minimum price of NFD",
726 | "allowEmptyValue": true,
727 | "schema": {
728 | "type": "integer",
729 | "description": "Minimum price of NFD",
730 | "example": 1,
731 | "format": "int64"
732 | },
733 | "example": 1
734 | },
735 | {
736 | "name": "maxPrice",
737 | "in": "query",
738 | "description": "Maximum price of NFD",
739 | "allowEmptyValue": true,
740 | "schema": {
741 | "type": "integer",
742 | "description": "Maximum price of NFD",
743 | "example": 1,
744 | "format": "int64"
745 | },
746 | "example": 1
747 | },
748 | {
749 | "name": "afterTime",
750 | "in": "query",
751 | "description": "Fetch analytics events that occurred only after the specified time",
752 | "allowEmptyValue": true,
753 | "schema": {
754 | "type": "string",
755 | "description": "Fetch analytics events that occurred only after the specified time",
756 | "example": "1970-01-01T00:00:01Z",
757 | "format": "date-time"
758 | },
759 | "example": "1970-01-01T00:00:01Z"
760 | },
761 | {
762 | "name": "limit",
763 | "in": "query",
764 | "description": "Limit the number of results returned - max 200",
765 | "allowEmptyValue": true,
766 | "schema": {
767 | "type": "integer",
768 | "description": "Limit the number of results returned - max 200",
769 | "default": 50,
770 | "example": 50,
771 | "format": "int64",
772 | "minimum": 1,
773 | "maximum": 200
774 | },
775 | "example": 50
776 | },
777 | {
778 | "name": "offset",
779 | "in": "query",
780 | "description": "Starting document in large list. Fetch 1-100 [limit 100], pass offset 100 to fetch 100-200",
781 | "allowEmptyValue": true,
782 | "schema": {
783 | "type": "integer",
784 | "description": "Starting document in large list. Fetch 1-100 [limit 100], pass offset 100 to fetch 100-200",
785 | "default": 0,
786 | "example": 1,
787 | "format": "int64",
788 | "minimum": 0
789 | },
790 | "example": 1
791 | },
792 | {
793 | "name": "sort",
794 | "in": "query",
795 | "description": "What to sort on - descending timestamp is default",
796 | "allowEmptyValue": true,
797 | "schema": {
798 | "type": "string",
799 | "description": "What to sort on - descending timestamp is default",
800 | "default": "timeDesc",
801 | "example": "priceAsc",
802 | "enum": [
803 | "timeDesc",
804 | "priceAsc",
805 | "priceDesc"
806 | ]
807 | },
808 | "example": "priceAsc"
809 | },
810 | {
811 | "name": "if-none-match",
812 | "in": "header",
813 | "description": "etag",
814 | "allowEmptyValue": true,
815 | "schema": {
816 | "type": "string",
817 | "description": "etag"
818 | }
819 | }
820 | ],
821 | "responses": {
822 | "200": {
823 | "description": "OK response.",
824 | "headers": {
825 | "ETag": {
826 | "description": "ETag",
827 | "schema": {
828 | "type": "string",
829 | "description": "ETag",
830 | "example": "abc123"
831 | },
832 | "example": "abc123"
833 | },
834 | "cache-control": {
835 | "description": "Cache-Control header",
836 | "schema": {
837 | "type": "string",
838 | "description": "Cache-Control header",
839 | "example": "abc123"
840 | },
841 | "example": "abc123"
842 | }
843 | },
844 | "content": {
845 | "application/json": {
846 | "schema": {
847 | "$ref": "#/components/schemas/NFDAnalyticRecords"
848 | },
849 | "example": {
850 | "match-check": "abc123",
851 | "results": [
852 | {
853 | "data": {
854 | "block": 1,
855 | "buyer": "abc123",
856 | "carryCost": 1,
857 | "category": "premium",
858 | "currentOwner": "abc123",
859 | "event": "renewed",
860 | "groupID": "abc123",
861 | "metaTags": [
862 | "abc123"
863 | ],
864 | "name": "abc123",
865 | "newExpTime": "1970-01-01T00:00:01Z",
866 | "note": "abc123",
867 | "oneYearRenewalPrice": 1,
868 | "saleType": "buyItNow",
869 | "seller": "abc123"
870 | },
871 | "price": 1,
872 | "priceUsd": 1,
873 | "timestamp": "1970-01-01T00:00:01Z"
874 | }
875 | ],
876 | "total": 1
877 | }
878 | }
879 | }
880 | },
881 | "304": {
882 | "description": "ETag not changed"
883 | },
884 | "400": {
885 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
886 | "content": {
887 | "application/vnd.goa.error": {
888 | "schema": {
889 | "$ref": "#/components/schemas/Error"
890 | }
891 | }
892 | }
893 | },
894 | "404": {
895 | "description": "notFound: Not Found response.",
896 | "content": {
897 | "application/vnd.goa.error": {
898 | "schema": {
899 | "$ref": "#/components/schemas/Error"
900 | }
901 | }
902 | }
903 | },
904 | "429": {
905 | "description": "rateLimited: Too Many Requests response.",
906 | "content": {
907 | "application/json": {
908 | "schema": {
909 | "$ref": "#/components/schemas/RateLimited"
910 | },
911 | "example": {
912 | "limit": 5,
913 | "secsRemaining": 50
914 | }
915 | }
916 | }
917 | }
918 | }
919 | }
920 | },
921 | "/nfd/badges/{name}": {
922 | "get": {
923 | "tags": [
924 | "nfd"
925 | ],
926 | "summary": "Fetch badge information (donations/etc) for an NFD",
927 | "description": "Fetch badge information (ie: donations) for an NFD",
928 | "operationId": "nfd#badges",
929 | "parameters": [
930 | {
931 | "name": "name",
932 | "in": "path",
933 | "required": true,
934 | "schema": {
935 | "type": "string",
936 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
937 | "example": "silvio.algo",
938 | "pattern": "^.+\\.algo$",
939 | "minLength": 1,
940 | "maxLength": 120
941 | },
942 | "example": "silvio.algo"
943 | },
944 | {
945 | "name": "if-none-match",
946 | "in": "header",
947 | "description": "etag",
948 | "allowEmptyValue": true,
949 | "schema": {
950 | "type": "string",
951 | "description": "etag"
952 | }
953 | }
954 | ],
955 | "responses": {
956 | "200": {
957 | "description": "OK response.",
958 | "headers": {
959 | "ETag": {
960 | "description": "ETag",
961 | "schema": {
962 | "type": "string",
963 | "description": "ETag",
964 | "example": "abc123"
965 | },
966 | "example": "abc123"
967 | },
968 | "cache-control": {
969 | "description": "Cache-Control header",
970 | "schema": {
971 | "type": "string",
972 | "description": "Cache-Control header",
973 | "example": "abc123"
974 | },
975 | "example": "abc123"
976 | }
977 | },
978 | "content": {
979 | "application/json": {
980 | "schema": {
981 | "type": "object",
982 | "example": {
983 | "abc123": [
984 | {
985 | "abc123": "abc123"
986 | }
987 | ]
988 | },
989 | "additionalProperties": {
990 | "type": "array",
991 | "items": {
992 | "type": "object",
993 | "example": {
994 | "abc123": "abc123"
995 | },
996 | "additionalProperties": {
997 | "type": "string",
998 | "example": "abc123"
999 | }
1000 | },
1001 | "example": [
1002 | {
1003 | "abc123": "abc123"
1004 | }
1005 | ]
1006 | }
1007 | },
1008 | "example": {
1009 | "abc123": [
1010 | {
1011 | "abc123": "abc123"
1012 | }
1013 | ]
1014 | }
1015 | }
1016 | }
1017 | },
1018 | "304": {
1019 | "description": "ETag not changed"
1020 | },
1021 | "400": {
1022 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
1023 | "content": {
1024 | "application/vnd.goa.error": {
1025 | "schema": {
1026 | "$ref": "#/components/schemas/Error"
1027 | }
1028 | }
1029 | }
1030 | },
1031 | "404": {
1032 | "description": "notFound: Not Found response.",
1033 | "content": {
1034 | "application/vnd.goa.error": {
1035 | "schema": {
1036 | "$ref": "#/components/schemas/Error"
1037 | }
1038 | }
1039 | }
1040 | },
1041 | "429": {
1042 | "description": "rateLimited: Too Many Requests response.",
1043 | "content": {
1044 | "application/json": {
1045 | "schema": {
1046 | "$ref": "#/components/schemas/RateLimited"
1047 | },
1048 | "example": {
1049 | "limit": 5,
1050 | "secsRemaining": 50
1051 | }
1052 | }
1053 | }
1054 | }
1055 | }
1056 | }
1057 | },
1058 | "/nfd/bluesky/leaders": {
1059 | "get": {
1060 | "tags": [
1061 | "nfd"
1062 | ],
1063 | "summary": "blueskyLeaders nfd",
1064 | "description": "Get top bluesky influencers",
1065 | "operationId": "nfd#blueskyLeaders",
1066 | "parameters": [
1067 | {
1068 | "name": "if-none-match",
1069 | "in": "header",
1070 | "description": "etag",
1071 | "allowEmptyValue": true,
1072 | "schema": {
1073 | "type": "string",
1074 | "description": "etag"
1075 | }
1076 | }
1077 | ],
1078 | "responses": {
1079 | "200": {
1080 | "description": "OK response.",
1081 | "headers": {
1082 | "ETag": {
1083 | "description": "ETag",
1084 | "schema": {
1085 | "type": "string",
1086 | "description": "ETag",
1087 | "example": "abc123"
1088 | },
1089 | "example": "abc123"
1090 | },
1091 | "cache-control": {
1092 | "description": "Cache-Control header",
1093 | "schema": {
1094 | "type": "string",
1095 | "description": "Cache-Control header",
1096 | "example": "abc123"
1097 | },
1098 | "example": "abc123"
1099 | }
1100 | },
1101 | "content": {
1102 | "application/json": {
1103 | "schema": {
1104 | "type": "array",
1105 | "items": {
1106 | "$ref": "#/components/schemas/BlueskyRecord"
1107 | },
1108 | "example": [
1109 | {
1110 | "blueskydid": "abc123",
1111 | "displayName": "abc123",
1112 | "followers": 1,
1113 | "following": 1,
1114 | "handle": "abc123",
1115 | "nfd": {
1116 | "appID": 1000000,
1117 | "asaID": 1,
1118 | "avatarOutdated": false,
1119 | "caAlgo": [
1120 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1121 | ],
1122 | "cache-control": "abc123",
1123 | "category": "abc123",
1124 | "currentAsOfBlock": 1,
1125 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1126 | "etag": "abc123",
1127 | "expired": false,
1128 | "match-check": "abc123",
1129 | "metaTags": [
1130 | "abc123"
1131 | ],
1132 | "name": "abc123",
1133 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1134 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1135 | "parentAppID": 1000000,
1136 | "properties": {
1137 | "internal": {
1138 | "abc123": "abc123"
1139 | },
1140 | "userDefined": {
1141 | "ca:b": "abc123"
1142 | },
1143 | "verified": {
1144 | "caAlgo": "abc123"
1145 | }
1146 | },
1147 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1148 | "saleType": "abc123",
1149 | "sellAmount": 1,
1150 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1151 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1152 | "state": "abc123",
1153 | "tags": [
1154 | "abc123"
1155 | ],
1156 | "timeChanged": "1970-01-01T00:00:01Z",
1157 | "timeCreated": "1970-01-01T00:00:01Z",
1158 | "timeExpires": "1970-01-01T00:00:01Z",
1159 | "timePurchased": "1970-01-01T00:00:01Z",
1160 | "unverifiedCa": {
1161 | "btc": [
1162 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
1163 | ]
1164 | },
1165 | "unverifiedCaAlgo": [
1166 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1167 | ]
1168 | },
1169 | "posts": 1
1170 | }
1171 | ]
1172 | },
1173 | "example": [
1174 | {
1175 | "blueskydid": "abc123",
1176 | "displayName": "abc123",
1177 | "followers": 1,
1178 | "following": 1,
1179 | "handle": "abc123",
1180 | "nfd": {
1181 | "appID": 1000000,
1182 | "asaID": 1,
1183 | "avatarOutdated": false,
1184 | "caAlgo": [
1185 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1186 | ],
1187 | "cache-control": "abc123",
1188 | "category": "abc123",
1189 | "currentAsOfBlock": 1,
1190 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1191 | "etag": "abc123",
1192 | "expired": false,
1193 | "match-check": "abc123",
1194 | "metaTags": [
1195 | "abc123"
1196 | ],
1197 | "name": "abc123",
1198 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1199 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1200 | "parentAppID": 1000000,
1201 | "properties": {
1202 | "internal": {
1203 | "abc123": "abc123"
1204 | },
1205 | "userDefined": {
1206 | "ca:b": "abc123"
1207 | },
1208 | "verified": {
1209 | "caAlgo": "abc123"
1210 | }
1211 | },
1212 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1213 | "saleType": "abc123",
1214 | "sellAmount": 1,
1215 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1216 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1217 | "state": "abc123",
1218 | "tags": [
1219 | "abc123"
1220 | ],
1221 | "timeChanged": "1970-01-01T00:00:01Z",
1222 | "timeCreated": "1970-01-01T00:00:01Z",
1223 | "timeExpires": "1970-01-01T00:00:01Z",
1224 | "timePurchased": "1970-01-01T00:00:01Z",
1225 | "unverifiedCa": {
1226 | "btc": [
1227 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
1228 | ]
1229 | },
1230 | "unverifiedCaAlgo": [
1231 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1232 | ]
1233 | },
1234 | "posts": 1
1235 | }
1236 | ]
1237 | }
1238 | }
1239 | },
1240 | "304": {
1241 | "description": "ETag not changed"
1242 | },
1243 | "400": {
1244 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
1245 | "content": {
1246 | "application/vnd.goa.error": {
1247 | "schema": {
1248 | "$ref": "#/components/schemas/Error"
1249 | }
1250 | }
1251 | }
1252 | },
1253 | "404": {
1254 | "description": "notFound: Not Found response.",
1255 | "content": {
1256 | "application/vnd.goa.error": {
1257 | "schema": {
1258 | "$ref": "#/components/schemas/Error"
1259 | }
1260 | }
1261 | }
1262 | },
1263 | "429": {
1264 | "description": "rateLimited: Too Many Requests response.",
1265 | "content": {
1266 | "application/json": {
1267 | "schema": {
1268 | "$ref": "#/components/schemas/RateLimited"
1269 | },
1270 | "example": {
1271 | "limit": 5,
1272 | "secsRemaining": 50
1273 | }
1274 | }
1275 | }
1276 | }
1277 | }
1278 | }
1279 | },
1280 | "/nfd/browse": {
1281 | "get": {
1282 | "tags": [
1283 | "nfd"
1284 | ],
1285 | "summary": "Browse NFDs via various filters",
1286 | "operationId": "nfd#browse",
1287 | "parameters": [
1288 | {
1289 | "name": "name",
1290 | "in": "query",
1291 | "description": "name or partial match of NFD name to filter on",
1292 | "allowEmptyValue": true,
1293 | "schema": {
1294 | "type": "string",
1295 | "description": "name or partial match of NFD name to filter on"
1296 | }
1297 | },
1298 | {
1299 | "name": "category",
1300 | "in": "query",
1301 | "allowEmptyValue": true,
1302 | "schema": {
1303 | "type": "array",
1304 | "items": {
1305 | "type": "string",
1306 | "description": "Category of NFD",
1307 | "example": "premium",
1308 | "enum": [
1309 | "curated",
1310 | "premium",
1311 | "common"
1312 | ]
1313 | }
1314 | }
1315 | },
1316 | {
1317 | "name": "saleType",
1318 | "in": "query",
1319 | "allowEmptyValue": true,
1320 | "schema": {
1321 | "type": "array",
1322 | "items": {
1323 | "type": "string",
1324 | "description": "Sale type of NFD",
1325 | "example": "buyItNow",
1326 | "enum": [
1327 | "auction",
1328 | "buyItNow"
1329 | ]
1330 | }
1331 | }
1332 | },
1333 | {
1334 | "name": "state",
1335 | "in": "query",
1336 | "allowEmptyValue": true,
1337 | "schema": {
1338 | "type": "array",
1339 | "items": {
1340 | "type": "string",
1341 | "description": "State of NFD",
1342 | "example": "forSale",
1343 | "enum": [
1344 | "reserved",
1345 | "forSale",
1346 | "owned",
1347 | "expired"
1348 | ]
1349 | }
1350 | }
1351 | },
1352 | {
1353 | "name": "parentAppID",
1354 | "in": "query",
1355 | "description": "The parent NFD Application ID to find. Used for fetching segments of an NFD",
1356 | "allowEmptyValue": true,
1357 | "schema": {
1358 | "type": "integer",
1359 | "description": "The parent NFD Application ID to find. Used for fetching segments of an NFD",
1360 | "example": 1000000,
1361 | "format": "int64"
1362 | },
1363 | "example": 1000000
1364 | },
1365 | {
1366 | "name": "length",
1367 | "in": "query",
1368 | "description": "Length of NFD",
1369 | "allowEmptyValue": true,
1370 | "schema": {
1371 | "type": "array",
1372 | "items": {
1373 | "type": "string",
1374 | "example": "2_letters",
1375 | "enum": [
1376 | "1_letters",
1377 | "2_letters",
1378 | "3_letters",
1379 | "4_letters",
1380 | "5_letters",
1381 | "6_letters",
1382 | "7_letters",
1383 | "8_letters",
1384 | "9_letters",
1385 | "10+_letters"
1386 | ]
1387 | },
1388 | "description": "Length of NFD"
1389 | }
1390 | },
1391 | {
1392 | "name": "traits",
1393 | "in": "query",
1394 | "description": "Traits of NFD",
1395 | "allowEmptyValue": true,
1396 | "schema": {
1397 | "type": "array",
1398 | "items": {
1399 | "type": "string",
1400 | "example": "pristine",
1401 | "enum": [
1402 | "emoji",
1403 | "pristine",
1404 | "segment"
1405 | ]
1406 | },
1407 | "description": "Traits of NFD"
1408 | }
1409 | },
1410 | {
1411 | "name": "owner",
1412 | "in": "query",
1413 | "description": "An Algorand account address to find all NFDs owned by that address",
1414 | "allowEmptyValue": true,
1415 | "schema": {
1416 | "type": "string",
1417 | "description": "An Algorand Account address",
1418 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1419 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
1420 | },
1421 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1422 | },
1423 | {
1424 | "name": "reservedFor",
1425 | "in": "query",
1426 | "description": "An Algorand account address to find all NFDs reserved for that address",
1427 | "allowEmptyValue": true,
1428 | "schema": {
1429 | "type": "string",
1430 | "description": "An Algorand Account address",
1431 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1432 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
1433 | },
1434 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1435 | },
1436 | {
1437 | "name": "prefix",
1438 | "in": "query",
1439 | "description": "The start of an NFD name, fetching multiple NFDs that have that prefix",
1440 | "allowEmptyValue": true,
1441 | "schema": {
1442 | "type": "string",
1443 | "description": "The start of an NFD name, fetching multiple NFDs that have that prefix",
1444 | "minLength": 1,
1445 | "maxLength": 32
1446 | }
1447 | },
1448 | {
1449 | "name": "substring",
1450 | "in": "query",
1451 | "description": "Part of an NFD name, fetching multiple NFDs that have that substring (minimum 3 characters)",
1452 | "allowEmptyValue": true,
1453 | "schema": {
1454 | "type": "string",
1455 | "description": "Part of an NFD name, fetching multiple NFDs that have that substring (minimum 3 characters)",
1456 | "minLength": 3,
1457 | "maxLength": 32
1458 | }
1459 | },
1460 | {
1461 | "name": "vproperty",
1462 | "in": "query",
1463 | "description": "Verified property name to search on - specify value with vvalue",
1464 | "allowEmptyValue": true,
1465 | "schema": {
1466 | "type": "string",
1467 | "description": "Verified property name to search on - specify value with vvalue",
1468 | "example": "discord",
1469 | "enum": [
1470 | "blueskydid",
1471 | "discord",
1472 | "telegram",
1473 | "github",
1474 | "twitter",
1475 | "email",
1476 | "domain",
1477 | "nostrpubkey"
1478 | ]
1479 | },
1480 | "example": "discord"
1481 | },
1482 | {
1483 | "name": "vvalue",
1484 | "in": "query",
1485 | "description": "Value to find in the vproperty field specified with the vproperty parameter",
1486 | "allowEmptyValue": true,
1487 | "schema": {
1488 | "type": "string",
1489 | "description": "Value to find in the vproperty field specified with the vproperty parameter",
1490 | "example": "abc123"
1491 | },
1492 | "example": "abc123"
1493 | },
1494 | {
1495 | "name": "minPrice",
1496 | "in": "query",
1497 | "description": "Minimum price of NFD",
1498 | "allowEmptyValue": true,
1499 | "schema": {
1500 | "type": "integer",
1501 | "description": "Minimum price of NFD",
1502 | "format": "int64"
1503 | }
1504 | },
1505 | {
1506 | "name": "maxPrice",
1507 | "in": "query",
1508 | "description": "Maximum price of NFD",
1509 | "allowEmptyValue": true,
1510 | "schema": {
1511 | "type": "integer",
1512 | "description": "Maximum price of NFD",
1513 | "format": "int64"
1514 | }
1515 | },
1516 | {
1517 | "name": "changedAfter",
1518 | "in": "query",
1519 | "description": "Fetch NFDs that changed after the specified timestamp",
1520 | "allowEmptyValue": true,
1521 | "schema": {
1522 | "type": "string",
1523 | "description": "Fetch NFDs that changed after the specified timestamp",
1524 | "example": "1970-01-01T00:00:01Z",
1525 | "format": "date-time"
1526 | },
1527 | "example": "1970-01-01T00:00:01Z"
1528 | },
1529 | {
1530 | "name": "limit",
1531 | "in": "query",
1532 | "description": "Limit the number of results returned - max 200",
1533 | "allowEmptyValue": true,
1534 | "schema": {
1535 | "type": "integer",
1536 | "description": "Limit the number of results returned - max 200",
1537 | "default": 50,
1538 | "format": "int64",
1539 | "minimum": 1,
1540 | "maximum": 200
1541 | }
1542 | },
1543 | {
1544 | "name": "offset",
1545 | "in": "query",
1546 | "description": "Starting document in large list. Fetch 1-100 [limit 100], pass offset 100 to fetch 100-200",
1547 | "allowEmptyValue": true,
1548 | "schema": {
1549 | "type": "integer",
1550 | "description": "Starting document in large list. Fetch 1-100 [limit 100], pass offset 100 to fetch 100-200",
1551 | "default": 0,
1552 | "format": "int64",
1553 | "minimum": 0
1554 | }
1555 | },
1556 | {
1557 | "name": "sort",
1558 | "in": "query",
1559 | "description": "What to sort on",
1560 | "allowEmptyValue": true,
1561 | "schema": {
1562 | "type": "string",
1563 | "description": "What to sort on",
1564 | "default": "createdDesc",
1565 | "enum": [
1566 | "createdDesc",
1567 | "timeChangedDesc",
1568 | "soldDesc",
1569 | "priceAsc",
1570 | "priceDesc",
1571 | "highestSaleDesc",
1572 | "saleTypeAsc"
1573 | ]
1574 | }
1575 | },
1576 | {
1577 | "name": "view",
1578 | "in": "query",
1579 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only), brief (default), or full",
1580 | "allowEmptyValue": true,
1581 | "schema": {
1582 | "type": "string",
1583 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only), brief (default), or full",
1584 | "default": "brief",
1585 | "enum": [
1586 | "tiny",
1587 | "brief",
1588 | "full"
1589 | ]
1590 | }
1591 | },
1592 | {
1593 | "name": "if-none-match",
1594 | "in": "header",
1595 | "description": "etag",
1596 | "allowEmptyValue": true,
1597 | "schema": {
1598 | "type": "string",
1599 | "description": "etag"
1600 | }
1601 | }
1602 | ],
1603 | "responses": {
1604 | "200": {
1605 | "description": "OK response.",
1606 | "headers": {
1607 | "ETag": {
1608 | "description": "ETag",
1609 | "schema": {
1610 | "type": "string",
1611 | "description": "ETag",
1612 | "example": "abc123"
1613 | },
1614 | "example": "abc123"
1615 | },
1616 | "cache-control": {
1617 | "description": "Cache-Control header",
1618 | "schema": {
1619 | "type": "string",
1620 | "description": "Cache-Control header",
1621 | "example": "abc123"
1622 | },
1623 | "example": "abc123"
1624 | }
1625 | },
1626 | "content": {
1627 | "application/json": {
1628 | "schema": {
1629 | "$ref": "#/components/schemas/NfdRecordCollection"
1630 | },
1631 | "example": [
1632 | {
1633 | "appID": 1000000,
1634 | "asaID": 1,
1635 | "avatarOutdated": false,
1636 | "caAlgo": [
1637 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1638 | ],
1639 | "cache-control": "abc123",
1640 | "category": "abc123",
1641 | "currentAsOfBlock": 1,
1642 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1643 | "etag": "abc123",
1644 | "expired": false,
1645 | "match-check": "abc123",
1646 | "metaTags": [
1647 | "abc123"
1648 | ],
1649 | "name": "abc123",
1650 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1651 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1652 | "parentAppID": 1000000,
1653 | "properties": {
1654 | "internal": {
1655 | "abc123": "abc123"
1656 | },
1657 | "userDefined": {
1658 | "ca:b": "abc123"
1659 | },
1660 | "verified": {
1661 | "caAlgo": "abc123"
1662 | }
1663 | },
1664 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1665 | "saleType": "abc123",
1666 | "sellAmount": 1,
1667 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1668 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
1669 | "state": "abc123",
1670 | "tags": [
1671 | "abc123"
1672 | ],
1673 | "timeChanged": "1970-01-01T00:00:01Z",
1674 | "timeCreated": "1970-01-01T00:00:01Z",
1675 | "timeExpires": "1970-01-01T00:00:01Z",
1676 | "timePurchased": "1970-01-01T00:00:01Z",
1677 | "unverifiedCa": {
1678 | "btc": [
1679 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
1680 | ]
1681 | },
1682 | "unverifiedCaAlgo": [
1683 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
1684 | ]
1685 | }
1686 | ]
1687 | }
1688 | }
1689 | },
1690 | "304": {
1691 | "description": "ETag not changed"
1692 | },
1693 | "400": {
1694 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
1695 | "content": {
1696 | "application/vnd.goa.error": {
1697 | "schema": {
1698 | "$ref": "#/components/schemas/Error"
1699 | }
1700 | }
1701 | }
1702 | },
1703 | "404": {
1704 | "description": "notFound: Not Found response.",
1705 | "content": {
1706 | "application/vnd.goa.error": {
1707 | "schema": {
1708 | "$ref": "#/components/schemas/Error"
1709 | }
1710 | }
1711 | }
1712 | },
1713 | "429": {
1714 | "description": "rateLimited: Too Many Requests response.",
1715 | "content": {
1716 | "application/json": {
1717 | "schema": {
1718 | "$ref": "#/components/schemas/RateLimited"
1719 | },
1720 | "example": {
1721 | "limit": 5,
1722 | "secsRemaining": 50
1723 | }
1724 | }
1725 | }
1726 | }
1727 | }
1728 | }
1729 | },
1730 | "/nfd/consensus/leaders": {
1731 | "get": {
1732 | "tags": [
1733 | "nfd"
1734 | ],
1735 | "summary": "consensusLeaders nfd",
1736 | "description": "Get top consensus leaders",
1737 | "operationId": "nfd#consensusLeaders",
1738 | "parameters": [
1739 | {
1740 | "name": "requireNFD",
1741 | "in": "query",
1742 | "description": "should it only match against accounts matching NFD linked addresses",
1743 | "allowEmptyValue": true,
1744 | "schema": {
1745 | "type": "boolean",
1746 | "description": "should it only match against accounts matching NFD linked addresses",
1747 | "default": true,
1748 | "example": false
1749 | },
1750 | "example": false
1751 | },
1752 | {
1753 | "name": "if-none-match",
1754 | "in": "header",
1755 | "description": "etag",
1756 | "allowEmptyValue": true,
1757 | "schema": {
1758 | "type": "string",
1759 | "description": "etag"
1760 | }
1761 | }
1762 | ],
1763 | "responses": {
1764 | "200": {
1765 | "description": "OK response.",
1766 | "headers": {
1767 | "ETag": {
1768 | "description": "ETag",
1769 | "schema": {
1770 | "type": "string",
1771 | "description": "ETag",
1772 | "example": "abc123"
1773 | },
1774 | "example": "abc123"
1775 | },
1776 | "cache-control": {
1777 | "description": "Cache-Control header",
1778 | "schema": {
1779 | "type": "string",
1780 | "description": "Cache-Control header",
1781 | "example": "abc123"
1782 | },
1783 | "example": "abc123"
1784 | }
1785 | },
1786 | "content": {
1787 | "application/json": {
1788 | "schema": {
1789 | "type": "array",
1790 | "items": {
1791 | "$ref": "#/components/schemas/ConsensusRecord"
1792 | },
1793 | "example": [
1794 | {
1795 | "account": "abc123",
1796 | "lastPropBlock": 1,
1797 | "lastPropTime": "1970-01-01T00:00:01Z",
1798 | "lastVoteBlock": 1,
1799 | "lastVoteTime": "1970-01-01T00:00:01Z",
1800 | "linkType": "abc123",
1801 | "ownerAccount": "abc123",
1802 | "pctOfOnline": 1,
1803 | "proposals": 1,
1804 | "rank": 1,
1805 | "votes": 1
1806 | }
1807 | ]
1808 | },
1809 | "example": [
1810 | {
1811 | "account": "abc123",
1812 | "lastPropBlock": 1,
1813 | "lastPropTime": "1970-01-01T00:00:01Z",
1814 | "lastVoteBlock": 1,
1815 | "lastVoteTime": "1970-01-01T00:00:01Z",
1816 | "linkType": "abc123",
1817 | "ownerAccount": "abc123",
1818 | "pctOfOnline": 1,
1819 | "proposals": 1,
1820 | "rank": 1,
1821 | "votes": 1
1822 | }
1823 | ]
1824 | }
1825 | }
1826 | },
1827 | "304": {
1828 | "description": "ETag not changed"
1829 | },
1830 | "400": {
1831 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
1832 | "content": {
1833 | "application/vnd.goa.error": {
1834 | "schema": {
1835 | "$ref": "#/components/schemas/Error"
1836 | }
1837 | }
1838 | }
1839 | },
1840 | "404": {
1841 | "description": "notFound: Not Found response.",
1842 | "content": {
1843 | "application/vnd.goa.error": {
1844 | "schema": {
1845 | "$ref": "#/components/schemas/Error"
1846 | }
1847 | }
1848 | }
1849 | },
1850 | "429": {
1851 | "description": "rateLimited: Too Many Requests response.",
1852 | "content": {
1853 | "application/json": {
1854 | "schema": {
1855 | "$ref": "#/components/schemas/RateLimited"
1856 | },
1857 | "example": {
1858 | "limit": 5,
1859 | "secsRemaining": 50
1860 | }
1861 | }
1862 | }
1863 | }
1864 | }
1865 | }
1866 | },
1867 | "/nfd/consensus/metrics": {
1868 | "get": {
1869 | "tags": [
1870 | "nfd"
1871 | ],
1872 | "summary": "consensusMetrics nfd",
1873 | "description": "Get general metrics about Algorand consensus",
1874 | "operationId": "nfd#consensusMetrics",
1875 | "parameters": [
1876 | {
1877 | "name": "if-none-match",
1878 | "in": "header",
1879 | "description": "etag",
1880 | "allowEmptyValue": true,
1881 | "schema": {
1882 | "type": "string",
1883 | "description": "etag"
1884 | }
1885 | }
1886 | ],
1887 | "responses": {
1888 | "200": {
1889 | "description": "OK response.",
1890 | "headers": {
1891 | "ETag": {
1892 | "description": "ETag",
1893 | "schema": {
1894 | "type": "string",
1895 | "description": "ETag",
1896 | "example": "abc123"
1897 | },
1898 | "example": "abc123"
1899 | },
1900 | "cache-control": {
1901 | "description": "Cache-Control header",
1902 | "schema": {
1903 | "type": "string",
1904 | "description": "Cache-Control header",
1905 | "example": "abc123"
1906 | },
1907 | "example": "abc123"
1908 | }
1909 | },
1910 | "content": {
1911 | "application/json": {
1912 | "schema": {
1913 | "type": "object",
1914 | "example": {
1915 | "abc123": [
1916 | {
1917 | "abc123": "abc123"
1918 | }
1919 | ]
1920 | },
1921 | "additionalProperties": {
1922 | "type": "array",
1923 | "items": {
1924 | "type": "object",
1925 | "example": {
1926 | "abc123": "abc123"
1927 | },
1928 | "additionalProperties": {
1929 | "type": "string",
1930 | "example": "abc123"
1931 | }
1932 | },
1933 | "example": [
1934 | {
1935 | "abc123": "abc123"
1936 | }
1937 | ]
1938 | }
1939 | },
1940 | "example": {
1941 | "abc123": [
1942 | {
1943 | "abc123": "abc123"
1944 | }
1945 | ]
1946 | }
1947 | }
1948 | }
1949 | },
1950 | "304": {
1951 | "description": "ETag not changed"
1952 | },
1953 | "400": {
1954 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
1955 | "content": {
1956 | "application/vnd.goa.error": {
1957 | "schema": {
1958 | "$ref": "#/components/schemas/Error"
1959 | }
1960 | }
1961 | }
1962 | },
1963 | "404": {
1964 | "description": "notFound: Not Found response.",
1965 | "content": {
1966 | "application/vnd.goa.error": {
1967 | "schema": {
1968 | "$ref": "#/components/schemas/Error"
1969 | }
1970 | }
1971 | }
1972 | },
1973 | "429": {
1974 | "description": "rateLimited: Too Many Requests response.",
1975 | "content": {
1976 | "application/json": {
1977 | "schema": {
1978 | "$ref": "#/components/schemas/RateLimited"
1979 | },
1980 | "example": {
1981 | "limit": 5,
1982 | "secsRemaining": 50
1983 | }
1984 | }
1985 | }
1986 | }
1987 | }
1988 | }
1989 | },
1990 | "/nfd/contract/lock/{name}": {
1991 | "post": {
1992 | "tags": [
1993 | "nfd"
1994 | ],
1995 | "summary": "contractLock nfd",
1996 | "description": "Lock/Unlock an NFD contract - if locked, the contract can never being modified until unlocked again by the owner.",
1997 | "operationId": "nfd#contractLock",
1998 | "parameters": [
1999 | {
2000 | "name": "name",
2001 | "in": "path",
2002 | "required": true,
2003 | "schema": {
2004 | "type": "string",
2005 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2006 | "example": "silvio.algo",
2007 | "pattern": "^.+\\.algo$",
2008 | "minLength": 1,
2009 | "maxLength": 120
2010 | },
2011 | "example": "silvio.algo"
2012 | }
2013 | ],
2014 | "requestBody": {
2015 | "required": true,
2016 | "content": {
2017 | "application/json": {
2018 | "schema": {
2019 | "$ref": "#/components/schemas/ContractLockRequestBody"
2020 | },
2021 | "example": {
2022 | "lock": false,
2023 | "sender": "333333333333333333333333333333333333333333333333333333333A"
2024 | }
2025 | }
2026 | }
2027 | },
2028 | "responses": {
2029 | "200": {
2030 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
2031 | "content": {
2032 | "application/json": {
2033 | "schema": {
2034 | "type": "string",
2035 | "example": "abc123"
2036 | },
2037 | "example": "abc123"
2038 | }
2039 | }
2040 | },
2041 | "400": {
2042 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2043 | "content": {
2044 | "application/vnd.goa.error": {
2045 | "schema": {
2046 | "$ref": "#/components/schemas/Error"
2047 | }
2048 | }
2049 | }
2050 | },
2051 | "404": {
2052 | "description": "notFound: Not Found response.",
2053 | "content": {
2054 | "application/vnd.goa.error": {
2055 | "schema": {
2056 | "$ref": "#/components/schemas/Error"
2057 | }
2058 | }
2059 | }
2060 | },
2061 | "429": {
2062 | "description": "rateLimited: Too Many Requests response.",
2063 | "content": {
2064 | "application/json": {
2065 | "schema": {
2066 | "$ref": "#/components/schemas/RateLimited"
2067 | },
2068 | "example": {
2069 | "limit": 5,
2070 | "secsRemaining": 50
2071 | }
2072 | }
2073 | }
2074 | }
2075 | }
2076 | }
2077 | },
2078 | "/nfd/contract/upgrade/{name}": {
2079 | "post": {
2080 | "tags": [
2081 | "nfd"
2082 | ],
2083 | "summary": "contractUpgrade nfd",
2084 | "description": "Request upgrade of a pre 2.11 NFD to 2.11 (going no further)",
2085 | "operationId": "nfd#contractUpgrade",
2086 | "parameters": [
2087 | {
2088 | "name": "name",
2089 | "in": "path",
2090 | "required": true,
2091 | "schema": {
2092 | "type": "string",
2093 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2094 | "example": "silvio.algo",
2095 | "pattern": "^.+\\.algo$",
2096 | "minLength": 1,
2097 | "maxLength": 120
2098 | },
2099 | "example": "silvio.algo"
2100 | }
2101 | ],
2102 | "requestBody": {
2103 | "required": true,
2104 | "content": {
2105 | "application/json": {
2106 | "schema": {
2107 | "$ref": "#/components/schemas/RescindOfferRequestBody"
2108 | },
2109 | "example": {
2110 | "sender": "333333333333333333333333333333333333333333333333333333333A"
2111 | }
2112 | }
2113 | }
2114 | },
2115 | "responses": {
2116 | "200": {
2117 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
2118 | "content": {
2119 | "application/json": {
2120 | "schema": {
2121 | "type": "string",
2122 | "example": "abc123"
2123 | },
2124 | "example": "abc123"
2125 | }
2126 | }
2127 | },
2128 | "400": {
2129 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2130 | "content": {
2131 | "application/vnd.goa.error": {
2132 | "schema": {
2133 | "$ref": "#/components/schemas/Error"
2134 | }
2135 | }
2136 | }
2137 | },
2138 | "403": {
2139 | "description": "upgradeNotNeeded: The NFD contract doesn't need upgraded",
2140 | "content": {
2141 | "application/vnd.goa.error": {
2142 | "schema": {
2143 | "$ref": "#/components/schemas/Error"
2144 | }
2145 | }
2146 | }
2147 | },
2148 | "404": {
2149 | "description": "notFound: Not Found response.",
2150 | "content": {
2151 | "application/vnd.goa.error": {
2152 | "schema": {
2153 | "$ref": "#/components/schemas/Error"
2154 | }
2155 | }
2156 | }
2157 | },
2158 | "429": {
2159 | "description": "rateLimited: Too Many Requests response.",
2160 | "content": {
2161 | "application/json": {
2162 | "schema": {
2163 | "$ref": "#/components/schemas/RateLimited"
2164 | },
2165 | "example": {
2166 | "limit": 5,
2167 | "secsRemaining": 50
2168 | }
2169 | }
2170 | }
2171 | }
2172 | }
2173 | }
2174 | },
2175 | "/nfd/donations/{name}": {
2176 | "get": {
2177 | "tags": [
2178 | "nfd"
2179 | ],
2180 | "summary": "donations nfd",
2181 | "description": "Fetch donation activity for an NFD, totalling amounts sent 'to' designated donation accounts",
2182 | "operationId": "nfd#donations",
2183 | "parameters": [
2184 | {
2185 | "name": "name",
2186 | "in": "path",
2187 | "required": true,
2188 | "schema": {
2189 | "type": "string",
2190 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2191 | "example": "silvio.algo",
2192 | "pattern": "^.+\\.algo$",
2193 | "minLength": 1,
2194 | "maxLength": 120
2195 | },
2196 | "example": "silvio.algo"
2197 | }
2198 | ],
2199 | "responses": {
2200 | "200": {
2201 | "description": "OK response.",
2202 | "content": {
2203 | "application/json": {
2204 | "schema": {
2205 | "type": "array",
2206 | "items": {
2207 | "$ref": "#/components/schemas/Donation"
2208 | },
2209 | "example": [
2210 | {
2211 | "address": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
2212 | "total": 1
2213 | }
2214 | ]
2215 | },
2216 | "example": [
2217 | {
2218 | "address": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
2219 | "total": 1
2220 | }
2221 | ]
2222 | }
2223 | }
2224 | },
2225 | "304": {
2226 | "description": "Not Modified response."
2227 | },
2228 | "400": {
2229 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2230 | "content": {
2231 | "application/vnd.goa.error": {
2232 | "schema": {
2233 | "$ref": "#/components/schemas/Error"
2234 | }
2235 | }
2236 | }
2237 | },
2238 | "404": {
2239 | "description": "notFound: Not Found response.",
2240 | "content": {
2241 | "application/vnd.goa.error": {
2242 | "schema": {
2243 | "$ref": "#/components/schemas/Error"
2244 | }
2245 | }
2246 | }
2247 | },
2248 | "429": {
2249 | "description": "rateLimited: Too Many Requests response.",
2250 | "content": {
2251 | "application/json": {
2252 | "schema": {
2253 | "$ref": "#/components/schemas/RateLimited"
2254 | },
2255 | "example": {
2256 | "limit": 5,
2257 | "secsRemaining": 50
2258 | }
2259 | }
2260 | }
2261 | }
2262 | }
2263 | }
2264 | },
2265 | "/nfd/getQuote/{name}": {
2266 | "get": {
2267 | "tags": [
2268 | "nfd"
2269 | ],
2270 | "summary": "getQuote nfd",
2271 | "description": "get price / carry cost to mint or rewnew an NFD (if existing)",
2272 | "operationId": "nfd#getQuote",
2273 | "parameters": [
2274 | {
2275 | "name": "buyer",
2276 | "in": "query",
2277 | "description": "Address requesting price. Optional, but important when getting quote on existing nfd that is expired. If expired, then owner can renew for base price, but if not existing (but expired) owner, then the price is reverse-auction format over 28 days.",
2278 | "allowEmptyValue": true,
2279 | "required": true,
2280 | "schema": {
2281 | "type": "string",
2282 | "description": "An Algorand Account address",
2283 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
2284 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
2285 | },
2286 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
2287 | },
2288 | {
2289 | "name": "name",
2290 | "in": "path",
2291 | "required": true,
2292 | "schema": {
2293 | "type": "string",
2294 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2295 | "example": "silvio.algo",
2296 | "pattern": "^.+\\.algo$",
2297 | "minLength": 1,
2298 | "maxLength": 120
2299 | },
2300 | "example": "silvio.algo"
2301 | }
2302 | ],
2303 | "responses": {
2304 | "200": {
2305 | "description": "OK response.",
2306 | "content": {
2307 | "application/json": {
2308 | "schema": {
2309 | "$ref": "#/components/schemas/GetQuoteResponseBody"
2310 | },
2311 | "example": {
2312 | "carryCost": 1,
2313 | "exists": false,
2314 | "inAuction": false,
2315 | "isExpired": false,
2316 | "price": 1
2317 | }
2318 | }
2319 | }
2320 | },
2321 | "400": {
2322 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2323 | "content": {
2324 | "application/vnd.goa.error": {
2325 | "schema": {
2326 | "$ref": "#/components/schemas/Error"
2327 | }
2328 | }
2329 | }
2330 | },
2331 | "403": {
2332 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
2333 | "content": {
2334 | "application/vnd.goa.error": {}
2335 | }
2336 | },
2337 | "404": {
2338 | "description": "notFound: Not Found response.",
2339 | "content": {
2340 | "application/vnd.goa.error": {
2341 | "schema": {
2342 | "$ref": "#/components/schemas/Error"
2343 | }
2344 | }
2345 | }
2346 | },
2347 | "429": {
2348 | "description": "rateLimited: Too Many Requests response.",
2349 | "content": {
2350 | "application/json": {
2351 | "schema": {
2352 | "$ref": "#/components/schemas/RateLimited"
2353 | },
2354 | "example": {
2355 | "limit": 5,
2356 | "secsRemaining": 50
2357 | }
2358 | }
2359 | }
2360 | }
2361 | }
2362 | }
2363 | },
2364 | "/nfd/isValid/{appID}": {
2365 | "get": {
2366 | "tags": [
2367 | "nfd"
2368 | ],
2369 | "summary": "isValidNFD nfd",
2370 | "description": "Determines if specified NFD Application ID is authentic",
2371 | "operationId": "nfd#isValidNFD",
2372 | "parameters": [
2373 | {
2374 | "name": "appID",
2375 | "in": "path",
2376 | "description": "Application ID of a presumed NFD to verify. The API will perform a forward-name lookup of the name within the NFD to verify it points to the same ID",
2377 | "required": true,
2378 | "schema": {
2379 | "type": "integer",
2380 | "description": "Application ID of a presumed NFD to verify. The API will perform a forward-name lookup of the name within the NFD to verify it points to the same ID",
2381 | "example": 1,
2382 | "format": "int64"
2383 | },
2384 | "example": 1
2385 | }
2386 | ],
2387 | "responses": {
2388 | "200": {
2389 | "description": "OK response.",
2390 | "content": {
2391 | "application/json": {
2392 | "schema": {
2393 | "$ref": "#/components/schemas/IsValidNFDResponseBody"
2394 | },
2395 | "example": {
2396 | "isValid": false,
2397 | "message": "abc123",
2398 | "name": "abc123",
2399 | "sigNameAddress": "abc123"
2400 | }
2401 | }
2402 | }
2403 | },
2404 | "400": {
2405 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2406 | "content": {
2407 | "application/vnd.goa.error": {
2408 | "schema": {
2409 | "$ref": "#/components/schemas/Error"
2410 | }
2411 | }
2412 | }
2413 | },
2414 | "404": {
2415 | "description": "notFound: Not Found response.",
2416 | "content": {
2417 | "application/vnd.goa.error": {
2418 | "schema": {
2419 | "$ref": "#/components/schemas/Error"
2420 | }
2421 | }
2422 | }
2423 | },
2424 | "429": {
2425 | "description": "rateLimited: Too Many Requests response.",
2426 | "content": {
2427 | "application/json": {
2428 | "schema": {
2429 | "$ref": "#/components/schemas/RateLimited"
2430 | },
2431 | "example": {
2432 | "limit": 5,
2433 | "secsRemaining": 50
2434 | }
2435 | }
2436 | }
2437 | }
2438 | }
2439 | }
2440 | },
2441 | "/nfd/isValidASA/{asaID}": {
2442 | "get": {
2443 | "tags": [
2444 | "nfd"
2445 | ],
2446 | "summary": "isValidASA nfd",
2447 | "description": "Determines if specified NFD NFT ASA ID is authentic NFD",
2448 | "operationId": "nfd#isValidASA",
2449 | "parameters": [
2450 | {
2451 | "name": "asaID",
2452 | "in": "path",
2453 | "description": "Asset ID of a presumed NFD ASA to verify. The API will verify the found asset references an NFD that in turn references that asset.",
2454 | "required": true,
2455 | "schema": {
2456 | "type": "integer",
2457 | "description": "Asset ID of a presumed NFD ASA to verify. The API will verify the found asset references an NFD that in turn references that asset.",
2458 | "example": 1,
2459 | "format": "int64"
2460 | },
2461 | "example": 1
2462 | }
2463 | ],
2464 | "responses": {
2465 | "200": {
2466 | "description": "OK response.",
2467 | "content": {
2468 | "application/json": {
2469 | "schema": {
2470 | "$ref": "#/components/schemas/IsValidASAResponseBody"
2471 | },
2472 | "example": {
2473 | "appID": 1,
2474 | "isValid": false,
2475 | "message": "abc123",
2476 | "name": "abc123"
2477 | }
2478 | }
2479 | }
2480 | },
2481 | "400": {
2482 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2483 | "content": {
2484 | "application/vnd.goa.error": {
2485 | "schema": {
2486 | "$ref": "#/components/schemas/Error"
2487 | }
2488 | }
2489 | }
2490 | },
2491 | "404": {
2492 | "description": "notFound: Not Found response.",
2493 | "content": {
2494 | "application/vnd.goa.error": {
2495 | "schema": {
2496 | "$ref": "#/components/schemas/Error"
2497 | }
2498 | }
2499 | }
2500 | },
2501 | "429": {
2502 | "description": "rateLimited: Too Many Requests response.",
2503 | "content": {
2504 | "application/json": {
2505 | "schema": {
2506 | "$ref": "#/components/schemas/RateLimited"
2507 | },
2508 | "example": {
2509 | "limit": 5,
2510 | "secsRemaining": 50
2511 | }
2512 | }
2513 | }
2514 | }
2515 | }
2516 | }
2517 | },
2518 | "/nfd/links/addAddress/{name}": {
2519 | "post": {
2520 | "tags": [
2521 | "nfd"
2522 | ],
2523 | "summary": "linkAddress nfd",
2524 | "description": "Link one or more addresses to an NFD, adding to the reverse-address lookups as well as to this NFD. Sender must be owner, and each added address must be able to be signed for.",
2525 | "operationId": "nfd#linkAddress",
2526 | "parameters": [
2527 | {
2528 | "name": "name",
2529 | "in": "path",
2530 | "required": true,
2531 | "schema": {
2532 | "type": "string",
2533 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2534 | "example": "silvio.algo",
2535 | "pattern": "^.+\\.algo$",
2536 | "minLength": 1,
2537 | "maxLength": 120
2538 | },
2539 | "example": "silvio.algo"
2540 | }
2541 | ],
2542 | "requestBody": {
2543 | "required": true,
2544 | "content": {
2545 | "application/json": {
2546 | "schema": {
2547 | "$ref": "#/components/schemas/LinkAddressRequestBody"
2548 | },
2549 | "example": {
2550 | "address": [
2551 | "333333333333333333333333333333333333333333333333333333333A",
2552 | "333333333333333333333333333333333333333333333333333333333A",
2553 | "333333333333333333333333333333333333333333333333333333333A"
2554 | ],
2555 | "sender": "333333333333333333333333333333333333333333333333333333333A"
2556 | }
2557 | }
2558 | }
2559 | },
2560 | "responses": {
2561 | "202": {
2562 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
2563 | "content": {
2564 | "application/json": {
2565 | "schema": {
2566 | "type": "string",
2567 | "example": "abc123"
2568 | },
2569 | "example": "abc123"
2570 | }
2571 | }
2572 | },
2573 | "400": {
2574 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2575 | "content": {
2576 | "application/vnd.goa.error": {
2577 | "schema": {
2578 | "$ref": "#/components/schemas/Error"
2579 | }
2580 | }
2581 | }
2582 | },
2583 | "403": {
2584 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
2585 | "content": {
2586 | "application/vnd.goa.error": {
2587 | "schema": {
2588 | "$ref": "#/components/schemas/Error"
2589 | }
2590 | }
2591 | }
2592 | },
2593 | "404": {
2594 | "description": "notFound: Not Found response.",
2595 | "content": {
2596 | "application/vnd.goa.error": {
2597 | "schema": {
2598 | "$ref": "#/components/schemas/Error"
2599 | }
2600 | }
2601 | }
2602 | },
2603 | "429": {
2604 | "description": "rateLimited: Too Many Requests response.",
2605 | "content": {
2606 | "application/json": {
2607 | "schema": {
2608 | "$ref": "#/components/schemas/RateLimited"
2609 | },
2610 | "example": {
2611 | "limit": 5,
2612 | "secsRemaining": 50
2613 | }
2614 | }
2615 | }
2616 | }
2617 | }
2618 | }
2619 | },
2620 | "/nfd/links/removeAddress/{name}": {
2621 | "post": {
2622 | "tags": [
2623 | "nfd"
2624 | ],
2625 | "summary": "unlinkAddress nfd",
2626 | "description": "UnLink one or more addresses to an NFD, adding to the reverse-address lookups as well as to this NFD. Sender must be owner, and each added address must be able to be signed for.",
2627 | "operationId": "nfd#unlinkAddress",
2628 | "parameters": [
2629 | {
2630 | "name": "name",
2631 | "in": "path",
2632 | "required": true,
2633 | "schema": {
2634 | "type": "string",
2635 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2636 | "example": "silvio.algo",
2637 | "pattern": "^.+\\.algo$",
2638 | "minLength": 1,
2639 | "maxLength": 120
2640 | },
2641 | "example": "silvio.algo"
2642 | }
2643 | ],
2644 | "requestBody": {
2645 | "required": true,
2646 | "content": {
2647 | "application/json": {
2648 | "schema": {
2649 | "$ref": "#/components/schemas/LinkAddressRequestBody"
2650 | },
2651 | "example": {
2652 | "address": [
2653 | "333333333333333333333333333333333333333333333333333333333A",
2654 | "333333333333333333333333333333333333333333333333333333333A",
2655 | "333333333333333333333333333333333333333333333333333333333A"
2656 | ],
2657 | "sender": "333333333333333333333333333333333333333333333333333333333A"
2658 | }
2659 | }
2660 | }
2661 | },
2662 | "responses": {
2663 | "202": {
2664 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
2665 | "content": {
2666 | "application/json": {
2667 | "schema": {
2668 | "type": "string",
2669 | "example": "abc123"
2670 | },
2671 | "example": "abc123"
2672 | }
2673 | }
2674 | },
2675 | "400": {
2676 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2677 | "content": {
2678 | "application/vnd.goa.error": {
2679 | "schema": {
2680 | "$ref": "#/components/schemas/Error"
2681 | }
2682 | }
2683 | }
2684 | },
2685 | "403": {
2686 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
2687 | "content": {
2688 | "application/vnd.goa.error": {
2689 | "schema": {
2690 | "$ref": "#/components/schemas/Error"
2691 | }
2692 | }
2693 | }
2694 | },
2695 | "404": {
2696 | "description": "notFound: Not Found response.",
2697 | "content": {
2698 | "application/vnd.goa.error": {
2699 | "schema": {
2700 | "$ref": "#/components/schemas/Error"
2701 | }
2702 | }
2703 | }
2704 | },
2705 | "429": {
2706 | "description": "rateLimited: Too Many Requests response.",
2707 | "content": {
2708 | "application/json": {
2709 | "schema": {
2710 | "$ref": "#/components/schemas/RateLimited"
2711 | },
2712 | "example": {
2713 | "limit": 5,
2714 | "secsRemaining": 50
2715 | }
2716 | }
2717 | }
2718 | }
2719 | }
2720 | }
2721 | },
2722 | "/nfd/links/setPrimaryAddress/{name}": {
2723 | "post": {
2724 | "tags": [
2725 | "nfd"
2726 | ],
2727 | "summary": "setPrimaryAddress nfd",
2728 | "description": "Set which of the currently verified addresses should be the first in the list (swapping positions as necessary)",
2729 | "operationId": "nfd#setPrimaryAddress",
2730 | "parameters": [
2731 | {
2732 | "name": "name",
2733 | "in": "path",
2734 | "required": true,
2735 | "schema": {
2736 | "type": "string",
2737 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2738 | "example": "silvio.algo",
2739 | "pattern": "^.+\\.algo$",
2740 | "minLength": 1,
2741 | "maxLength": 120
2742 | },
2743 | "example": "silvio.algo"
2744 | }
2745 | ],
2746 | "requestBody": {
2747 | "required": true,
2748 | "content": {
2749 | "application/json": {
2750 | "schema": {
2751 | "$ref": "#/components/schemas/SetPrimaryAddressRequestBody"
2752 | },
2753 | "example": {
2754 | "address": "333333333333333333333333333333333333333333333333333333333A",
2755 | "sender": "333333333333333333333333333333333333333333333333333333333A"
2756 | }
2757 | }
2758 | }
2759 | },
2760 | "responses": {
2761 | "202": {
2762 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
2763 | "content": {
2764 | "application/json": {
2765 | "schema": {
2766 | "type": "string",
2767 | "example": "abc123"
2768 | },
2769 | "example": "abc123"
2770 | }
2771 | }
2772 | },
2773 | "400": {
2774 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2775 | "content": {
2776 | "application/vnd.goa.error": {
2777 | "schema": {
2778 | "$ref": "#/components/schemas/Error"
2779 | }
2780 | }
2781 | }
2782 | },
2783 | "403": {
2784 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
2785 | "content": {
2786 | "application/vnd.goa.error": {
2787 | "schema": {
2788 | "$ref": "#/components/schemas/Error"
2789 | }
2790 | }
2791 | }
2792 | },
2793 | "404": {
2794 | "description": "notFound: Not Found response.",
2795 | "content": {
2796 | "application/vnd.goa.error": {
2797 | "schema": {
2798 | "$ref": "#/components/schemas/Error"
2799 | }
2800 | }
2801 | }
2802 | },
2803 | "429": {
2804 | "description": "rateLimited: Too Many Requests response.",
2805 | "content": {
2806 | "application/json": {
2807 | "schema": {
2808 | "$ref": "#/components/schemas/RateLimited"
2809 | },
2810 | "example": {
2811 | "limit": 5,
2812 | "secsRemaining": 50
2813 | }
2814 | }
2815 | }
2816 | }
2817 | }
2818 | }
2819 | },
2820 | "/nfd/links/setPrimaryNFD/{name}": {
2821 | "post": {
2822 | "tags": [
2823 | "nfd"
2824 | ],
2825 | "summary": "setPrimaryNFD nfd",
2826 | "description": "Set the specified NFD as the primary NFD to return for the specified address via its reverse lookup",
2827 | "operationId": "nfd#setPrimaryNFD",
2828 | "parameters": [
2829 | {
2830 | "name": "name",
2831 | "in": "path",
2832 | "required": true,
2833 | "schema": {
2834 | "type": "string",
2835 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
2836 | "example": "silvio.algo",
2837 | "pattern": "^.+\\.algo$",
2838 | "minLength": 1,
2839 | "maxLength": 120
2840 | },
2841 | "example": "silvio.algo"
2842 | }
2843 | ],
2844 | "requestBody": {
2845 | "required": true,
2846 | "content": {
2847 | "application/json": {
2848 | "schema": {
2849 | "$ref": "#/components/schemas/SetPrimaryAddressRequestBody"
2850 | },
2851 | "example": {
2852 | "address": "333333333333333333333333333333333333333333333333333333333A",
2853 | "sender": "333333333333333333333333333333333333333333333333333333333A"
2854 | }
2855 | }
2856 | }
2857 | },
2858 | "responses": {
2859 | "202": {
2860 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
2861 | "content": {
2862 | "application/json": {
2863 | "schema": {
2864 | "type": "string",
2865 | "example": "abc123"
2866 | },
2867 | "example": "abc123"
2868 | }
2869 | }
2870 | },
2871 | "400": {
2872 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
2873 | "content": {
2874 | "application/vnd.goa.error": {
2875 | "schema": {
2876 | "$ref": "#/components/schemas/Error"
2877 | }
2878 | }
2879 | }
2880 | },
2881 | "403": {
2882 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
2883 | "content": {
2884 | "application/vnd.goa.error": {
2885 | "schema": {
2886 | "$ref": "#/components/schemas/Error"
2887 | }
2888 | }
2889 | }
2890 | },
2891 | "404": {
2892 | "description": "notFound: Not Found response.",
2893 | "content": {
2894 | "application/vnd.goa.error": {
2895 | "schema": {
2896 | "$ref": "#/components/schemas/Error"
2897 | }
2898 | }
2899 | }
2900 | },
2901 | "429": {
2902 | "description": "rateLimited: Too Many Requests response.",
2903 | "content": {
2904 | "application/json": {
2905 | "schema": {
2906 | "$ref": "#/components/schemas/RateLimited"
2907 | },
2908 | "example": {
2909 | "limit": 5,
2910 | "secsRemaining": 50
2911 | }
2912 | }
2913 | }
2914 | }
2915 | }
2916 | }
2917 | },
2918 | "/nfd/lookup": {
2919 | "get": {
2920 | "tags": [
2921 | "nfd"
2922 | ],
2923 | "summary": "Reverse Address lookup with results returned per address",
2924 | "description": "Get the primary NFD for an address. Must be verified address, or if allowUnverified is set, it may match against an unverified address",
2925 | "operationId": "nfd#getLookup",
2926 | "parameters": [
2927 | {
2928 | "name": "address",
2929 | "in": "query",
2930 | "description": "one or more addresses (algo or otherwise) to look up, maximum of 20 can be defined. Specify the same query parameter multiple times for each address, ie: address=xxx&address=yyy&address=zzz",
2931 | "allowEmptyValue": true,
2932 | "required": true,
2933 | "schema": {
2934 | "type": "array",
2935 | "items": {
2936 | "type": "string",
2937 | "example": "abc123"
2938 | },
2939 | "description": "one or more addresses (algo or otherwise) to look up, maximum of 20 can be defined. Specify the same query parameter multiple times for each address, ie: address=xxx&address=yyy&address=zzz",
2940 | "example": [
2941 | "abc123",
2942 | "abc123"
2943 | ],
2944 | "minItems": 1,
2945 | "maxItems": 20
2946 | },
2947 | "example": [
2948 | "abc123",
2949 | "abc123"
2950 | ]
2951 | },
2952 | {
2953 | "name": "view",
2954 | "in": "query",
2955 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only [default]), thumbnail (tiny + avatar), brief, or full",
2956 | "allowEmptyValue": true,
2957 | "schema": {
2958 | "type": "string",
2959 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only [default]), thumbnail (tiny + avatar), brief, or full",
2960 | "default": "tiny",
2961 | "enum": [
2962 | "tiny",
2963 | "thumbnail",
2964 | "brief",
2965 | "full"
2966 | ]
2967 | }
2968 | },
2969 | {
2970 | "name": "allowUnverified",
2971 | "in": "query",
2972 | "description": "Whether to allow unverified addresses to match (and only if its only match). Defaults to false",
2973 | "allowEmptyValue": true,
2974 | "schema": {
2975 | "type": "boolean",
2976 | "description": "Whether to allow unverified addresses to match (and only if its only match). Defaults to false",
2977 | "default": false,
2978 | "example": false
2979 | },
2980 | "example": false
2981 | },
2982 | {
2983 | "name": "if-none-match",
2984 | "in": "header",
2985 | "description": "etag",
2986 | "allowEmptyValue": true,
2987 | "schema": {
2988 | "type": "string",
2989 | "description": "etag"
2990 | }
2991 | }
2992 | ],
2993 | "responses": {
2994 | "200": {
2995 | "description": "OK response.",
2996 | "headers": {
2997 | "ETag": {
2998 | "description": "ETag",
2999 | "schema": {
3000 | "type": "string",
3001 | "description": "ETag",
3002 | "example": "abc123"
3003 | },
3004 | "example": "abc123"
3005 | },
3006 | "cache-control": {
3007 | "description": "Cache-Control header",
3008 | "schema": {
3009 | "type": "string",
3010 | "description": "Cache-Control header",
3011 | "example": "abc123"
3012 | },
3013 | "example": "abc123"
3014 | }
3015 | },
3016 | "content": {
3017 | "application/json": {
3018 | "schema": {
3019 | "type": "object",
3020 | "example": {
3021 | "abc123": {
3022 | "appID": 1000000,
3023 | "asaID": 1,
3024 | "avatarOutdated": false,
3025 | "caAlgo": [
3026 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
3027 | ],
3028 | "cache-control": "abc123",
3029 | "category": "abc123",
3030 | "currentAsOfBlock": 1,
3031 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3032 | "etag": "abc123",
3033 | "expired": false,
3034 | "match-check": "abc123",
3035 | "metaTags": [
3036 | "abc123"
3037 | ],
3038 | "name": "abc123",
3039 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3040 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3041 | "parentAppID": 1000000,
3042 | "properties": {
3043 | "internal": {
3044 | "abc123": "abc123"
3045 | },
3046 | "userDefined": {
3047 | "ca:b": "abc123"
3048 | },
3049 | "verified": {
3050 | "caAlgo": "abc123"
3051 | }
3052 | },
3053 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3054 | "saleType": "abc123",
3055 | "sellAmount": 1,
3056 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3057 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3058 | "state": "abc123",
3059 | "tags": [
3060 | "abc123"
3061 | ],
3062 | "timeChanged": "1970-01-01T00:00:01Z",
3063 | "timeCreated": "1970-01-01T00:00:01Z",
3064 | "timeExpires": "1970-01-01T00:00:01Z",
3065 | "timePurchased": "1970-01-01T00:00:01Z",
3066 | "unverifiedCa": {
3067 | "btc": [
3068 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
3069 | ]
3070 | },
3071 | "unverifiedCaAlgo": [
3072 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
3073 | ]
3074 | }
3075 | },
3076 | "additionalProperties": {
3077 | "$ref": "#/components/schemas/NfdRecordinaddress"
3078 | }
3079 | },
3080 | "example": {
3081 | "abc123": {
3082 | "appID": 1000000,
3083 | "asaID": 1,
3084 | "avatarOutdated": false,
3085 | "caAlgo": [
3086 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
3087 | ],
3088 | "cache-control": "abc123",
3089 | "category": "abc123",
3090 | "currentAsOfBlock": 1,
3091 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3092 | "etag": "abc123",
3093 | "expired": false,
3094 | "match-check": "abc123",
3095 | "metaTags": [
3096 | "abc123"
3097 | ],
3098 | "name": "abc123",
3099 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3100 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3101 | "parentAppID": 1000000,
3102 | "properties": {
3103 | "internal": {
3104 | "abc123": "abc123"
3105 | },
3106 | "userDefined": {
3107 | "ca:b": "abc123"
3108 | },
3109 | "verified": {
3110 | "caAlgo": "abc123"
3111 | }
3112 | },
3113 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3114 | "saleType": "abc123",
3115 | "sellAmount": 1,
3116 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3117 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3118 | "state": "abc123",
3119 | "tags": [
3120 | "abc123"
3121 | ],
3122 | "timeChanged": "1970-01-01T00:00:01Z",
3123 | "timeCreated": "1970-01-01T00:00:01Z",
3124 | "timeExpires": "1970-01-01T00:00:01Z",
3125 | "timePurchased": "1970-01-01T00:00:01Z",
3126 | "unverifiedCa": {
3127 | "btc": [
3128 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
3129 | ]
3130 | },
3131 | "unverifiedCaAlgo": [
3132 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
3133 | ]
3134 | }
3135 | }
3136 | }
3137 | }
3138 | },
3139 | "304": {
3140 | "description": "ETag not changed"
3141 | },
3142 | "400": {
3143 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3144 | "content": {
3145 | "application/vnd.goa.error": {}
3146 | }
3147 | },
3148 | "404": {
3149 | "description": "notFound: Not Found response.",
3150 | "headers": {
3151 | "goa-attribute-fault": {
3152 | "description": "Is the error a server-side fault?",
3153 | "schema": {
3154 | "type": "boolean",
3155 | "description": "Is the error a server-side fault?",
3156 | "example": false
3157 | },
3158 | "example": false
3159 | },
3160 | "goa-attribute-id": {
3161 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
3162 | "schema": {
3163 | "type": "string",
3164 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
3165 | "example": "123abc"
3166 | },
3167 | "example": "123abc"
3168 | },
3169 | "goa-attribute-message": {
3170 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
3171 | "schema": {
3172 | "type": "string",
3173 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
3174 | "example": "parameter 'p' must be an integer"
3175 | },
3176 | "example": "parameter 'p' must be an integer"
3177 | },
3178 | "goa-attribute-name": {
3179 | "description": "Name is the name of this class of errors.",
3180 | "schema": {
3181 | "type": "string",
3182 | "description": "Name is the name of this class of errors.",
3183 | "example": "bad_request"
3184 | },
3185 | "example": "bad_request"
3186 | },
3187 | "goa-attribute-temporary": {
3188 | "description": "Is the error temporary?",
3189 | "schema": {
3190 | "type": "boolean",
3191 | "description": "Is the error temporary?",
3192 | "example": false
3193 | },
3194 | "example": false
3195 | },
3196 | "goa-attribute-timeout": {
3197 | "description": "Is the error a timeout?",
3198 | "schema": {
3199 | "type": "boolean",
3200 | "description": "Is the error a timeout?",
3201 | "example": false
3202 | },
3203 | "example": false
3204 | }
3205 | }
3206 | },
3207 | "429": {
3208 | "description": "rateLimited: Too Many Requests response.",
3209 | "content": {
3210 | "application/json": {
3211 | "schema": {
3212 | "$ref": "#/components/schemas/RateLimited"
3213 | },
3214 | "example": {
3215 | "limit": 5,
3216 | "secsRemaining": 50
3217 | }
3218 | }
3219 | }
3220 | }
3221 | }
3222 | }
3223 | },
3224 | "/nfd/mint": {
3225 | "post": {
3226 | "tags": [
3227 | "nfd"
3228 | ],
3229 | "summary": "mint nfd",
3230 | "description": "Mint a new NFD, with user buying specified NFD and paying for a prorated amount of time based on its yearly price.",
3231 | "operationId": "nfd#mint",
3232 | "requestBody": {
3233 | "required": true,
3234 | "content": {
3235 | "application/json": {
3236 | "schema": {
3237 | "$ref": "#/components/schemas/MintRequestBody"
3238 | },
3239 | "example": {
3240 | "algoOffer": 2,
3241 | "buyer": "333333333333333333333333333333333333333333333333333333333A",
3242 | "name": "aa",
3243 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
3244 | "years": 2
3245 | }
3246 | }
3247 | }
3248 | },
3249 | "responses": {
3250 | "201": {
3251 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
3252 | "content": {
3253 | "application/json": {
3254 | "schema": {
3255 | "type": "string",
3256 | "example": "abc123"
3257 | },
3258 | "example": "abc123"
3259 | }
3260 | }
3261 | },
3262 | "204": {
3263 | "description": "alreadyExists: NFD already exists",
3264 | "headers": {
3265 | "goa-attribute-fault": {
3266 | "description": "Is the error a server-side fault?",
3267 | "schema": {
3268 | "type": "boolean",
3269 | "description": "Is the error a server-side fault?",
3270 | "example": false
3271 | },
3272 | "example": false
3273 | },
3274 | "goa-attribute-id": {
3275 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
3276 | "schema": {
3277 | "type": "string",
3278 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
3279 | "example": "123abc"
3280 | },
3281 | "example": "123abc"
3282 | },
3283 | "goa-attribute-message": {
3284 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
3285 | "schema": {
3286 | "type": "string",
3287 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
3288 | "example": "parameter 'p' must be an integer"
3289 | },
3290 | "example": "parameter 'p' must be an integer"
3291 | },
3292 | "goa-attribute-name": {
3293 | "description": "Name is the name of this class of errors.",
3294 | "schema": {
3295 | "type": "string",
3296 | "description": "Name is the name of this class of errors.",
3297 | "example": "bad_request"
3298 | },
3299 | "example": "bad_request"
3300 | },
3301 | "goa-attribute-temporary": {
3302 | "description": "Is the error temporary?",
3303 | "schema": {
3304 | "type": "boolean",
3305 | "description": "Is the error temporary?",
3306 | "example": false
3307 | },
3308 | "example": false
3309 | },
3310 | "goa-attribute-timeout": {
3311 | "description": "Is the error a timeout?",
3312 | "schema": {
3313 | "type": "boolean",
3314 | "description": "Is the error a timeout?",
3315 | "example": false
3316 | },
3317 | "example": false
3318 | }
3319 | }
3320 | },
3321 | "400": {
3322 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3323 | "content": {
3324 | "application/vnd.goa.error": {
3325 | "schema": {
3326 | "$ref": "#/components/schemas/Error"
3327 | }
3328 | }
3329 | }
3330 | },
3331 | "403": {
3332 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
3333 | "content": {
3334 | "application/vnd.goa.error": {}
3335 | }
3336 | },
3337 | "404": {
3338 | "description": "notFound: Not Found response.",
3339 | "content": {
3340 | "application/vnd.goa.error": {
3341 | "schema": {
3342 | "$ref": "#/components/schemas/Error"
3343 | }
3344 | }
3345 | }
3346 | },
3347 | "429": {
3348 | "description": "rateLimited: Too Many Requests response.",
3349 | "content": {
3350 | "application/json": {
3351 | "schema": {
3352 | "$ref": "#/components/schemas/RateLimited"
3353 | },
3354 | "example": {
3355 | "limit": 5,
3356 | "secsRemaining": 50
3357 | }
3358 | }
3359 | }
3360 | }
3361 | }
3362 | }
3363 | },
3364 | "/nfd/nameSig/{name}": {
3365 | "get": {
3366 | "tags": [
3367 | "nfd"
3368 | ],
3369 | "summary": "getNameSig nfd",
3370 | "description": "Returns NameSig address for an NFD name (usable for V1 only)",
3371 | "operationId": "nfd#getNameSig",
3372 | "parameters": [
3373 | {
3374 | "name": "name",
3375 | "in": "path",
3376 | "required": true,
3377 | "schema": {
3378 | "type": "string",
3379 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
3380 | "example": "silvio.algo",
3381 | "pattern": "^.+\\.algo$",
3382 | "minLength": 1,
3383 | "maxLength": 120
3384 | },
3385 | "example": "silvio.algo"
3386 | }
3387 | ],
3388 | "responses": {
3389 | "200": {
3390 | "description": "OK response.",
3391 | "content": {
3392 | "application/json": {
3393 | "schema": {
3394 | "type": "string",
3395 | "description": "Algorand Address of Smart-Sig NAME account",
3396 | "example": "abc123"
3397 | },
3398 | "example": "abc123"
3399 | }
3400 | }
3401 | },
3402 | "400": {
3403 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3404 | "content": {
3405 | "application/vnd.goa.error": {
3406 | "schema": {
3407 | "$ref": "#/components/schemas/Error"
3408 | }
3409 | }
3410 | }
3411 | },
3412 | "404": {
3413 | "description": "notFound: Not Found response.",
3414 | "content": {
3415 | "application/vnd.goa.error": {
3416 | "schema": {
3417 | "$ref": "#/components/schemas/Error"
3418 | }
3419 | }
3420 | }
3421 | },
3422 | "429": {
3423 | "description": "rateLimited: Too Many Requests response.",
3424 | "content": {
3425 | "application/json": {
3426 | "schema": {
3427 | "$ref": "#/components/schemas/RateLimited"
3428 | },
3429 | "example": {
3430 | "limit": 5,
3431 | "secsRemaining": 50
3432 | }
3433 | }
3434 | }
3435 | }
3436 | }
3437 | }
3438 | },
3439 | "/nfd/offer/{name}": {
3440 | "post": {
3441 | "tags": [
3442 | "nfd"
3443 | ],
3444 | "summary": "offer nfd",
3445 | "description": "Offer up an NFD for sale - specifying price and optionally an address it is reserved for.",
3446 | "operationId": "nfd#offer",
3447 | "parameters": [
3448 | {
3449 | "name": "name",
3450 | "in": "path",
3451 | "required": true,
3452 | "schema": {
3453 | "type": "string",
3454 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
3455 | "example": "silvio.algo",
3456 | "pattern": "^.+\\.algo$",
3457 | "minLength": 1,
3458 | "maxLength": 120
3459 | },
3460 | "example": "silvio.algo"
3461 | }
3462 | ],
3463 | "requestBody": {
3464 | "required": true,
3465 | "content": {
3466 | "application/json": {
3467 | "schema": {
3468 | "$ref": "#/components/schemas/OfferRequestBody"
3469 | },
3470 | "example": {
3471 | "offer": 1,
3472 | "payReceiver": false,
3473 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
3474 | "sender": "333333333333333333333333333333333333333333333333333333333A"
3475 | }
3476 | }
3477 | }
3478 | },
3479 | "responses": {
3480 | "200": {
3481 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
3482 | "content": {
3483 | "application/json": {
3484 | "schema": {
3485 | "type": "string",
3486 | "example": "abc123"
3487 | },
3488 | "example": "abc123"
3489 | }
3490 | }
3491 | },
3492 | "400": {
3493 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3494 | "content": {
3495 | "application/vnd.goa.error": {
3496 | "schema": {
3497 | "$ref": "#/components/schemas/Error"
3498 | }
3499 | }
3500 | }
3501 | },
3502 | "403": {
3503 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
3504 | "content": {
3505 | "application/vnd.goa.error": {
3506 | "schema": {
3507 | "$ref": "#/components/schemas/Error"
3508 | }
3509 | }
3510 | }
3511 | },
3512 | "404": {
3513 | "description": "notFound: Not Found response.",
3514 | "content": {
3515 | "application/vnd.goa.error": {
3516 | "schema": {
3517 | "$ref": "#/components/schemas/Error"
3518 | }
3519 | }
3520 | }
3521 | },
3522 | "413": {
3523 | "description": "tooManyTransactions: The number of transactions allowed in a single transaction group (16) have been exceeded. Update fewer fields in one transaction, or if selling, reduce the data within the NFD first.",
3524 | "content": {
3525 | "application/vnd.goa.error": {
3526 | "schema": {
3527 | "$ref": "#/components/schemas/Error"
3528 | }
3529 | }
3530 | }
3531 | },
3532 | "429": {
3533 | "description": "rateLimited: Too Many Requests response.",
3534 | "content": {
3535 | "application/json": {
3536 | "schema": {
3537 | "$ref": "#/components/schemas/RateLimited"
3538 | },
3539 | "example": {
3540 | "limit": 5,
3541 | "secsRemaining": 50
3542 | }
3543 | }
3544 | }
3545 | }
3546 | }
3547 | }
3548 | },
3549 | "/nfd/postOfferToOwner/{name}": {
3550 | "post": {
3551 | "tags": [
3552 | "nfd"
3553 | ],
3554 | "summary": "postOfferToOwner nfd",
3555 | "description": "Post an offer to buy to the owner of an NFD, offering up a particular amount with optional note for them to consider",
3556 | "operationId": "nfd#postOfferToOwner",
3557 | "parameters": [
3558 | {
3559 | "name": "name",
3560 | "in": "path",
3561 | "required": true,
3562 | "schema": {
3563 | "type": "string",
3564 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
3565 | "example": "silvio.algo",
3566 | "pattern": "^.+\\.algo$",
3567 | "minLength": 1,
3568 | "maxLength": 120
3569 | },
3570 | "example": "silvio.algo"
3571 | }
3572 | ],
3573 | "requestBody": {
3574 | "required": true,
3575 | "content": {
3576 | "application/json": {
3577 | "schema": {
3578 | "$ref": "#/components/schemas/PostOfferToOwnerRequestBody"
3579 | },
3580 | "example": {
3581 | "note": "aaa",
3582 | "offer": 1000001,
3583 | "sender": "333333333333333333333333333333333333333333333333333333333A"
3584 | }
3585 | }
3586 | }
3587 | },
3588 | "responses": {
3589 | "200": {
3590 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
3591 | "content": {
3592 | "application/json": {
3593 | "schema": {
3594 | "type": "string",
3595 | "example": "abc123"
3596 | },
3597 | "example": "abc123"
3598 | }
3599 | }
3600 | },
3601 | "400": {
3602 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3603 | "content": {
3604 | "application/vnd.goa.error": {
3605 | "schema": {
3606 | "$ref": "#/components/schemas/Error"
3607 | }
3608 | }
3609 | }
3610 | },
3611 | "404": {
3612 | "description": "notFound: Not Found response.",
3613 | "content": {
3614 | "application/vnd.goa.error": {
3615 | "schema": {
3616 | "$ref": "#/components/schemas/Error"
3617 | }
3618 | }
3619 | }
3620 | },
3621 | "429": {
3622 | "description": "rateLimited: Too Many Requests response.",
3623 | "content": {
3624 | "application/json": {
3625 | "schema": {
3626 | "$ref": "#/components/schemas/RateLimited"
3627 | },
3628 | "example": {
3629 | "limit": 5,
3630 | "secsRemaining": 50
3631 | }
3632 | }
3633 | }
3634 | }
3635 | }
3636 | }
3637 | },
3638 | "/nfd/purchase/{name}": {
3639 | "post": {
3640 | "tags": [
3641 | "nfd"
3642 | ],
3643 | "summary": "purchase nfd",
3644 | "description": "Purchase an NFD for sale - specifying buyer (to sign transaction) and price",
3645 | "operationId": "nfd#purchase",
3646 | "parameters": [
3647 | {
3648 | "name": "name",
3649 | "in": "path",
3650 | "required": true,
3651 | "schema": {
3652 | "type": "string",
3653 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
3654 | "example": "silvio.algo",
3655 | "pattern": "^.+\\.algo$",
3656 | "minLength": 1,
3657 | "maxLength": 120
3658 | },
3659 | "example": "silvio.algo"
3660 | }
3661 | ],
3662 | "requestBody": {
3663 | "required": true,
3664 | "content": {
3665 | "application/json": {
3666 | "schema": {
3667 | "$ref": "#/components/schemas/PurchaseRequestBody"
3668 | },
3669 | "example": {
3670 | "buyer": "333333333333333333333333333333333333333333333333333333333A",
3671 | "offer": 1
3672 | }
3673 | }
3674 | }
3675 | },
3676 | "responses": {
3677 | "200": {
3678 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
3679 | "content": {
3680 | "application/json": {
3681 | "schema": {
3682 | "type": "string",
3683 | "example": "abc123"
3684 | },
3685 | "example": "abc123"
3686 | }
3687 | }
3688 | },
3689 | "400": {
3690 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3691 | "content": {
3692 | "application/vnd.goa.error": {}
3693 | }
3694 | },
3695 | "404": {
3696 | "description": "notFound: Not Found response.",
3697 | "content": {
3698 | "application/vnd.goa.error": {
3699 | "schema": {
3700 | "$ref": "#/components/schemas/Error"
3701 | }
3702 | }
3703 | }
3704 | },
3705 | "429": {
3706 | "description": "rateLimited: Too Many Requests response.",
3707 | "content": {
3708 | "application/json": {
3709 | "schema": {
3710 | "$ref": "#/components/schemas/RateLimited"
3711 | },
3712 | "example": {
3713 | "limit": 5,
3714 | "secsRemaining": 50
3715 | }
3716 | }
3717 | }
3718 | }
3719 | }
3720 | }
3721 | },
3722 | "/nfd/renew": {
3723 | "post": {
3724 | "tags": [
3725 | "nfd"
3726 | ],
3727 | "summary": "renew nfd",
3728 | "description": "Renew or extend the expiration of an NFD. If current owner, renews at base price. If other owner, can take ownership but goes through reverse auction process for first 28 days where price drops to base price - with price being for 1 year",
3729 | "operationId": "nfd#renew",
3730 | "requestBody": {
3731 | "required": true,
3732 | "content": {
3733 | "application/json": {
3734 | "schema": {
3735 | "$ref": "#/components/schemas/RenewRequestBody"
3736 | },
3737 | "example": {
3738 | "algoOffer": 2,
3739 | "buyer": "333333333333333333333333333333333333333333333333333333333A",
3740 | "name": "aa",
3741 | "years": 2
3742 | }
3743 | }
3744 | }
3745 | },
3746 | "responses": {
3747 | "201": {
3748 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
3749 | "content": {
3750 | "application/json": {
3751 | "schema": {
3752 | "type": "string",
3753 | "example": "abc123"
3754 | },
3755 | "example": "abc123"
3756 | }
3757 | }
3758 | },
3759 | "400": {
3760 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3761 | "content": {
3762 | "application/vnd.goa.error": {
3763 | "schema": {
3764 | "$ref": "#/components/schemas/Error"
3765 | }
3766 | }
3767 | }
3768 | },
3769 | "403": {
3770 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
3771 | "content": {
3772 | "application/vnd.goa.error": {
3773 | "schema": {
3774 | "$ref": "#/components/schemas/Error"
3775 | }
3776 | }
3777 | }
3778 | },
3779 | "404": {
3780 | "description": "notFound: Not Found response.",
3781 | "content": {
3782 | "application/vnd.goa.error": {
3783 | "schema": {
3784 | "$ref": "#/components/schemas/Error"
3785 | }
3786 | }
3787 | }
3788 | },
3789 | "429": {
3790 | "description": "rateLimited: Too Many Requests response.",
3791 | "content": {
3792 | "application/json": {
3793 | "schema": {
3794 | "$ref": "#/components/schemas/RateLimited"
3795 | },
3796 | "example": {
3797 | "limit": 5,
3798 | "secsRemaining": 50
3799 | }
3800 | }
3801 | }
3802 | }
3803 | }
3804 | }
3805 | },
3806 | "/nfd/rescindOffer/{name}": {
3807 | "post": {
3808 | "tags": [
3809 | "nfd"
3810 | ],
3811 | "summary": "rescindOffer nfd",
3812 | "description": "Rescind offer of sale. Claiming NFD back for self, and removing it for sale.",
3813 | "operationId": "nfd#rescindOffer",
3814 | "parameters": [
3815 | {
3816 | "name": "name",
3817 | "in": "path",
3818 | "required": true,
3819 | "schema": {
3820 | "type": "string",
3821 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
3822 | "example": "silvio.algo",
3823 | "pattern": "^.+\\.algo$",
3824 | "minLength": 1,
3825 | "maxLength": 120
3826 | },
3827 | "example": "silvio.algo"
3828 | }
3829 | ],
3830 | "requestBody": {
3831 | "required": true,
3832 | "content": {
3833 | "application/json": {
3834 | "schema": {
3835 | "$ref": "#/components/schemas/RescindOfferRequestBody"
3836 | },
3837 | "example": {
3838 | "sender": "333333333333333333333333333333333333333333333333333333333A"
3839 | }
3840 | }
3841 | }
3842 | },
3843 | "responses": {
3844 | "200": {
3845 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
3846 | "content": {
3847 | "application/json": {
3848 | "schema": {
3849 | "type": "string",
3850 | "example": "abc123"
3851 | },
3852 | "example": "abc123"
3853 | }
3854 | }
3855 | },
3856 | "400": {
3857 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3858 | "content": {
3859 | "application/vnd.goa.error": {
3860 | "schema": {
3861 | "$ref": "#/components/schemas/Error"
3862 | }
3863 | }
3864 | }
3865 | },
3866 | "404": {
3867 | "description": "notFound: Not Found response.",
3868 | "content": {
3869 | "application/vnd.goa.error": {
3870 | "schema": {
3871 | "$ref": "#/components/schemas/Error"
3872 | }
3873 | }
3874 | }
3875 | },
3876 | "429": {
3877 | "description": "rateLimited: Too Many Requests response.",
3878 | "content": {
3879 | "application/json": {
3880 | "schema": {
3881 | "$ref": "#/components/schemas/RateLimited"
3882 | },
3883 | "example": {
3884 | "limit": 5,
3885 | "secsRemaining": 50
3886 | }
3887 | }
3888 | }
3889 | }
3890 | }
3891 | }
3892 | },
3893 | "/nfd/revAddressSig/{address}": {
3894 | "get": {
3895 | "tags": [
3896 | "nfd"
3897 | ],
3898 | "summary": "getRevAddressSig nfd",
3899 | "description": "Returns RevAddress address for an NFD name (usable for V1 only)",
3900 | "operationId": "nfd#getRevAddressSig",
3901 | "parameters": [
3902 | {
3903 | "name": "address",
3904 | "in": "path",
3905 | "required": true,
3906 | "schema": {
3907 | "type": "string",
3908 | "description": "An Algorand Account address",
3909 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
3910 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
3911 | },
3912 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
3913 | }
3914 | ],
3915 | "responses": {
3916 | "200": {
3917 | "description": "OK response.",
3918 | "content": {
3919 | "application/json": {
3920 | "schema": {
3921 | "type": "string",
3922 | "description": "Algorand Address of Smart-Sig NAME account",
3923 | "example": "abc123"
3924 | },
3925 | "example": "abc123"
3926 | }
3927 | }
3928 | },
3929 | "400": {
3930 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
3931 | "content": {
3932 | "application/vnd.goa.error": {
3933 | "schema": {
3934 | "$ref": "#/components/schemas/Error"
3935 | }
3936 | }
3937 | }
3938 | },
3939 | "404": {
3940 | "description": "notFound: Not Found response.",
3941 | "content": {
3942 | "application/vnd.goa.error": {
3943 | "schema": {
3944 | "$ref": "#/components/schemas/Error"
3945 | }
3946 | }
3947 | }
3948 | },
3949 | "429": {
3950 | "description": "rateLimited: Too Many Requests response.",
3951 | "content": {
3952 | "application/json": {
3953 | "schema": {
3954 | "$ref": "#/components/schemas/RateLimited"
3955 | },
3956 | "example": {
3957 | "limit": 5,
3958 | "secsRemaining": 50
3959 | }
3960 | }
3961 | }
3962 | }
3963 | }
3964 | }
3965 | },
3966 | "/nfd/segment/leaders": {
3967 | "get": {
3968 | "tags": [
3969 | "nfd"
3970 | ],
3971 | "summary": "segmentLeaders nfd",
3972 | "description": "Get top segment roots",
3973 | "operationId": "nfd#segmentLeaders",
3974 | "parameters": [
3975 | {
3976 | "name": "if-none-match",
3977 | "in": "header",
3978 | "description": "etag",
3979 | "allowEmptyValue": true,
3980 | "schema": {
3981 | "type": "string",
3982 | "description": "etag"
3983 | }
3984 | }
3985 | ],
3986 | "responses": {
3987 | "200": {
3988 | "description": "OK response.",
3989 | "headers": {
3990 | "ETag": {
3991 | "description": "ETag",
3992 | "schema": {
3993 | "type": "string",
3994 | "description": "ETag",
3995 | "example": "abc123"
3996 | },
3997 | "example": "abc123"
3998 | },
3999 | "cache-control": {
4000 | "description": "Cache-Control header",
4001 | "schema": {
4002 | "type": "string",
4003 | "description": "Cache-Control header",
4004 | "example": "abc123"
4005 | },
4006 | "example": "abc123"
4007 | }
4008 | },
4009 | "content": {
4010 | "application/json": {
4011 | "schema": {
4012 | "$ref": "#/components/schemas/NfdRecordCollection"
4013 | },
4014 | "example": [
4015 | {
4016 | "appID": 1000000,
4017 | "asaID": 1,
4018 | "avatarOutdated": false,
4019 | "caAlgo": [
4020 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4021 | ],
4022 | "cache-control": "abc123",
4023 | "category": "abc123",
4024 | "currentAsOfBlock": 1,
4025 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4026 | "etag": "abc123",
4027 | "expired": false,
4028 | "match-check": "abc123",
4029 | "metaTags": [
4030 | "abc123"
4031 | ],
4032 | "name": "abc123",
4033 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4034 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4035 | "parentAppID": 1000000,
4036 | "properties": {
4037 | "internal": {
4038 | "abc123": "abc123"
4039 | },
4040 | "userDefined": {
4041 | "ca:b": "abc123"
4042 | },
4043 | "verified": {
4044 | "caAlgo": "abc123"
4045 | }
4046 | },
4047 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4048 | "saleType": "abc123",
4049 | "sellAmount": 1,
4050 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4051 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4052 | "state": "abc123",
4053 | "tags": [
4054 | "abc123"
4055 | ],
4056 | "timeChanged": "1970-01-01T00:00:01Z",
4057 | "timeCreated": "1970-01-01T00:00:01Z",
4058 | "timeExpires": "1970-01-01T00:00:01Z",
4059 | "timePurchased": "1970-01-01T00:00:01Z",
4060 | "unverifiedCa": {
4061 | "btc": [
4062 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
4063 | ]
4064 | },
4065 | "unverifiedCaAlgo": [
4066 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4067 | ]
4068 | }
4069 | ]
4070 | }
4071 | }
4072 | },
4073 | "304": {
4074 | "description": "ETag not changed"
4075 | },
4076 | "400": {
4077 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
4078 | "content": {
4079 | "application/vnd.goa.error": {
4080 | "schema": {
4081 | "$ref": "#/components/schemas/Error"
4082 | }
4083 | }
4084 | }
4085 | },
4086 | "404": {
4087 | "description": "notFound: Not Found response.",
4088 | "content": {
4089 | "application/vnd.goa.error": {
4090 | "schema": {
4091 | "$ref": "#/components/schemas/Error"
4092 | }
4093 | }
4094 | }
4095 | },
4096 | "429": {
4097 | "description": "rateLimited: Too Many Requests response.",
4098 | "content": {
4099 | "application/json": {
4100 | "schema": {
4101 | "$ref": "#/components/schemas/RateLimited"
4102 | },
4103 | "example": {
4104 | "limit": 5,
4105 | "secsRemaining": 50
4106 | }
4107 | }
4108 | }
4109 | }
4110 | }
4111 | }
4112 | },
4113 | "/nfd/segment/lock/{name}": {
4114 | "post": {
4115 | "tags": [
4116 | "nfd"
4117 | ],
4118 | "summary": "Lock/Unlock an NFD segment - specifying open price if unlocking",
4119 | "description": "Lock/Unlock an NFD segment - if locked, the segment only allows minted names created by the segment owner. If unlocked, anyone can mint off the segment for the price (in USD) the owner sets",
4120 | "operationId": "nfd#segmentLock",
4121 | "parameters": [
4122 | {
4123 | "name": "name",
4124 | "in": "path",
4125 | "required": true,
4126 | "schema": {
4127 | "type": "string",
4128 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
4129 | "example": "silvio.algo",
4130 | "pattern": "^.+\\.algo$",
4131 | "minLength": 1,
4132 | "maxLength": 120
4133 | },
4134 | "example": "silvio.algo"
4135 | }
4136 | ],
4137 | "requestBody": {
4138 | "required": true,
4139 | "content": {
4140 | "application/json": {
4141 | "schema": {
4142 | "$ref": "#/components/schemas/SegmentLockRequestBody"
4143 | },
4144 | "example": {
4145 | "lock": false,
4146 | "sellAmount": 1,
4147 | "sender": "333333333333333333333333333333333333333333333333333333333A"
4148 | }
4149 | }
4150 | }
4151 | },
4152 | "responses": {
4153 | "200": {
4154 | "description": "OK response.",
4155 | "content": {
4156 | "application/json": {
4157 | "schema": {
4158 | "type": "string",
4159 | "description": "Array of unsigned and signed grouped transactions to sign/submit",
4160 | "example": "abc123"
4161 | },
4162 | "example": "abc123"
4163 | }
4164 | }
4165 | },
4166 | "400": {
4167 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
4168 | "content": {
4169 | "application/vnd.goa.error": {
4170 | "schema": {
4171 | "$ref": "#/components/schemas/Error"
4172 | }
4173 | }
4174 | }
4175 | },
4176 | "403": {
4177 | "description": "segmentPriceTooLow: segment price doesn't meet minimum required price",
4178 | "headers": {
4179 | "goa-attribute-fault": {
4180 | "description": "Is the error a server-side fault?",
4181 | "schema": {
4182 | "type": "boolean",
4183 | "description": "Is the error a server-side fault?",
4184 | "example": false
4185 | },
4186 | "example": false
4187 | },
4188 | "goa-attribute-id": {
4189 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
4190 | "schema": {
4191 | "type": "string",
4192 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
4193 | "example": "123abc"
4194 | },
4195 | "example": "123abc"
4196 | },
4197 | "goa-attribute-message": {
4198 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
4199 | "schema": {
4200 | "type": "string",
4201 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
4202 | "example": "parameter 'p' must be an integer"
4203 | },
4204 | "example": "parameter 'p' must be an integer"
4205 | },
4206 | "goa-attribute-name": {
4207 | "description": "Name is the name of this class of errors.",
4208 | "schema": {
4209 | "type": "string",
4210 | "description": "Name is the name of this class of errors.",
4211 | "example": "bad_request"
4212 | },
4213 | "example": "bad_request"
4214 | },
4215 | "goa-attribute-temporary": {
4216 | "description": "Is the error temporary?",
4217 | "schema": {
4218 | "type": "boolean",
4219 | "description": "Is the error temporary?",
4220 | "example": false
4221 | },
4222 | "example": false
4223 | },
4224 | "goa-attribute-timeout": {
4225 | "description": "Is the error a timeout?",
4226 | "schema": {
4227 | "type": "boolean",
4228 | "description": "Is the error a timeout?",
4229 | "example": false
4230 | },
4231 | "example": false
4232 | }
4233 | }
4234 | },
4235 | "404": {
4236 | "description": "notFound: Not Found response.",
4237 | "content": {
4238 | "application/vnd.goa.error": {
4239 | "schema": {
4240 | "$ref": "#/components/schemas/Error"
4241 | }
4242 | }
4243 | }
4244 | },
4245 | "429": {
4246 | "description": "rateLimited: Too Many Requests response.",
4247 | "content": {
4248 | "application/json": {
4249 | "schema": {
4250 | "$ref": "#/components/schemas/RateLimited"
4251 | },
4252 | "example": {
4253 | "limit": 5,
4254 | "secsRemaining": 50
4255 | }
4256 | }
4257 | }
4258 | }
4259 | }
4260 | }
4261 | },
4262 | "/nfd/suggest/{name}": {
4263 | "get": {
4264 | "tags": [
4265 | "nfd"
4266 | ],
4267 | "summary": "suggest nfd",
4268 | "description": "Suggest NFDs to purchase",
4269 | "operationId": "nfd#suggest",
4270 | "parameters": [
4271 | {
4272 | "name": "limit",
4273 | "in": "query",
4274 | "description": "Limit the number of results returned - max 40",
4275 | "allowEmptyValue": true,
4276 | "schema": {
4277 | "type": "integer",
4278 | "description": "Limit the number of results returned - max 40",
4279 | "default": 20,
4280 | "example": 20,
4281 | "format": "int64",
4282 | "minimum": 1,
4283 | "maximum": 40
4284 | },
4285 | "example": 20
4286 | },
4287 | {
4288 | "name": "view",
4289 | "in": "query",
4290 | "description": "View of data to return, brief (default), or full",
4291 | "allowEmptyValue": true,
4292 | "schema": {
4293 | "type": "string",
4294 | "description": "View of data to return, brief (default), or full",
4295 | "default": "brief",
4296 | "example": "full",
4297 | "enum": [
4298 | "brief",
4299 | "full"
4300 | ]
4301 | },
4302 | "example": "full"
4303 | },
4304 | {
4305 | "name": "buyer",
4306 | "in": "query",
4307 | "description": "Expected buyer of name. Used for segment minting as additional check on availability of mint",
4308 | "allowEmptyValue": true,
4309 | "required": true,
4310 | "schema": {
4311 | "type": "string",
4312 | "description": "An Algorand Account address",
4313 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4314 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
4315 | },
4316 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4317 | },
4318 | {
4319 | "name": "name",
4320 | "in": "path",
4321 | "description": "A name (even partial) to search for [receiving suggestions as well]",
4322 | "required": true,
4323 | "schema": {
4324 | "type": "string",
4325 | "description": "A name (even partial) to search for [receiving suggestions as well]",
4326 | "example": "aaa",
4327 | "pattern": "^([a-z0-9]{1,27}\\.){0,1}[a-z0-9]{1,27}(\\.algo)?$",
4328 | "maxLength": 60
4329 | },
4330 | "example": "aaa"
4331 | }
4332 | ],
4333 | "responses": {
4334 | "200": {
4335 | "description": "OK response.",
4336 | "content": {
4337 | "application/json": {
4338 | "schema": {
4339 | "$ref": "#/components/schemas/NfdRecordCollection"
4340 | },
4341 | "example": [
4342 | {
4343 | "appID": 1000000,
4344 | "asaID": 1,
4345 | "avatarOutdated": false,
4346 | "caAlgo": [
4347 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4348 | ],
4349 | "cache-control": "abc123",
4350 | "category": "abc123",
4351 | "currentAsOfBlock": 1,
4352 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4353 | "etag": "abc123",
4354 | "expired": false,
4355 | "match-check": "abc123",
4356 | "metaTags": [
4357 | "abc123"
4358 | ],
4359 | "name": "abc123",
4360 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4361 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4362 | "parentAppID": 1000000,
4363 | "properties": {
4364 | "internal": {
4365 | "abc123": "abc123"
4366 | },
4367 | "userDefined": {
4368 | "ca:b": "abc123"
4369 | },
4370 | "verified": {
4371 | "caAlgo": "abc123"
4372 | }
4373 | },
4374 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4375 | "saleType": "abc123",
4376 | "sellAmount": 1,
4377 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4378 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4379 | "state": "abc123",
4380 | "tags": [
4381 | "abc123"
4382 | ],
4383 | "timeChanged": "1970-01-01T00:00:01Z",
4384 | "timeCreated": "1970-01-01T00:00:01Z",
4385 | "timeExpires": "1970-01-01T00:00:01Z",
4386 | "timePurchased": "1970-01-01T00:00:01Z",
4387 | "unverifiedCa": {
4388 | "btc": [
4389 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
4390 | ]
4391 | },
4392 | "unverifiedCaAlgo": [
4393 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4394 | ]
4395 | }
4396 | ]
4397 | }
4398 | }
4399 | },
4400 | "400": {
4401 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
4402 | "content": {
4403 | "application/vnd.goa.error": {
4404 | "schema": {
4405 | "$ref": "#/components/schemas/Error"
4406 | }
4407 | }
4408 | }
4409 | },
4410 | "403": {
4411 | "description": "segmentNotSupported: parent segment isn't at contract version supporting segments",
4412 | "headers": {
4413 | "goa-attribute-fault": {
4414 | "description": "Is the error a server-side fault?",
4415 | "schema": {
4416 | "type": "boolean",
4417 | "description": "Is the error a server-side fault?",
4418 | "example": false
4419 | },
4420 | "example": false
4421 | },
4422 | "goa-attribute-id": {
4423 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
4424 | "schema": {
4425 | "type": "string",
4426 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
4427 | "example": "123abc"
4428 | },
4429 | "example": "123abc"
4430 | },
4431 | "goa-attribute-message": {
4432 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
4433 | "schema": {
4434 | "type": "string",
4435 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
4436 | "example": "parameter 'p' must be an integer"
4437 | },
4438 | "example": "parameter 'p' must be an integer"
4439 | },
4440 | "goa-attribute-name": {
4441 | "description": "Name is the name of this class of errors.",
4442 | "schema": {
4443 | "type": "string",
4444 | "description": "Name is the name of this class of errors.",
4445 | "example": "bad_request"
4446 | },
4447 | "example": "bad_request"
4448 | },
4449 | "goa-attribute-temporary": {
4450 | "description": "Is the error temporary?",
4451 | "schema": {
4452 | "type": "boolean",
4453 | "description": "Is the error temporary?",
4454 | "example": false
4455 | },
4456 | "example": false
4457 | },
4458 | "goa-attribute-timeout": {
4459 | "description": "Is the error a timeout?",
4460 | "schema": {
4461 | "type": "boolean",
4462 | "description": "Is the error a timeout?",
4463 | "example": false
4464 | },
4465 | "example": false
4466 | }
4467 | }
4468 | },
4469 | "404": {
4470 | "description": "notFound: Not Found response.",
4471 | "content": {
4472 | "application/vnd.goa.error": {
4473 | "schema": {
4474 | "$ref": "#/components/schemas/Error"
4475 | }
4476 | }
4477 | }
4478 | },
4479 | "429": {
4480 | "description": "rateLimited: Too Many Requests response.",
4481 | "content": {
4482 | "application/json": {
4483 | "schema": {
4484 | "$ref": "#/components/schemas/RateLimited"
4485 | },
4486 | "example": {
4487 | "limit": 5,
4488 | "secsRemaining": 50
4489 | }
4490 | }
4491 | }
4492 | }
4493 | }
4494 | }
4495 | },
4496 | "/nfd/totals": {
4497 | "get": {
4498 | "tags": [
4499 | "nfd"
4500 | ],
4501 | "summary": "totals nfd",
4502 | "description": "Fetch NFD summary data - results subject to change in the future",
4503 | "operationId": "nfd#totals",
4504 | "parameters": [
4505 | {
4506 | "name": "if-none-match",
4507 | "in": "header",
4508 | "description": "etag",
4509 | "allowEmptyValue": true,
4510 | "schema": {
4511 | "type": "string",
4512 | "description": "etag"
4513 | }
4514 | }
4515 | ],
4516 | "responses": {
4517 | "200": {
4518 | "description": "OK response.",
4519 | "headers": {
4520 | "ETag": {
4521 | "description": "ETag",
4522 | "schema": {
4523 | "type": "string",
4524 | "description": "ETag",
4525 | "example": "abc123"
4526 | },
4527 | "example": "abc123"
4528 | },
4529 | "cache-control": {
4530 | "description": "Cache-Control header",
4531 | "schema": {
4532 | "type": "string",
4533 | "description": "Cache-Control header",
4534 | "example": "abc123"
4535 | },
4536 | "example": "abc123"
4537 | }
4538 | },
4539 | "content": {
4540 | "application/json": {
4541 | "schema": {
4542 | "$ref": "#/components/schemas/TotalsOKResponseBody"
4543 | },
4544 | "example": {
4545 | "contractTotals": {
4546 | "allVersions": {
4547 | "abc123": 1
4548 | },
4549 | "majorVersions": {
4550 | "abc123": 1
4551 | }
4552 | },
4553 | "expiredTotal": 1,
4554 | "forSale": 1,
4555 | "match-check": "abc123",
4556 | "mintedTotals": {
4557 | "day": 1,
4558 | "lifetime": 1,
4559 | "month": 1,
4560 | "week": 1
4561 | },
4562 | "segmentTotals": {
4563 | "day": 1,
4564 | "lifetime": 1,
4565 | "month": 1,
4566 | "week": 1
4567 | },
4568 | "soldTotals": {
4569 | "day": 1,
4570 | "lifetime": 1,
4571 | "month": 1,
4572 | "week": 1
4573 | },
4574 | "total": 1,
4575 | "totalSegments": 1,
4576 | "uniqueOwners": 1
4577 | }
4578 | }
4579 | }
4580 | },
4581 | "304": {
4582 | "description": "ETag not changed"
4583 | },
4584 | "400": {
4585 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
4586 | "content": {
4587 | "application/vnd.goa.error": {
4588 | "schema": {
4589 | "$ref": "#/components/schemas/Error"
4590 | }
4591 | }
4592 | }
4593 | },
4594 | "404": {
4595 | "description": "notFound: Not Found response.",
4596 | "content": {
4597 | "application/vnd.goa.error": {
4598 | "schema": {
4599 | "$ref": "#/components/schemas/Error"
4600 | }
4601 | }
4602 | }
4603 | },
4604 | "429": {
4605 | "description": "rateLimited: Too Many Requests response.",
4606 | "content": {
4607 | "application/json": {
4608 | "schema": {
4609 | "$ref": "#/components/schemas/RateLimited"
4610 | },
4611 | "example": {
4612 | "limit": 5,
4613 | "secsRemaining": 50
4614 | }
4615 | }
4616 | }
4617 | }
4618 | }
4619 | }
4620 | },
4621 | "/nfd/twitter/leaders": {
4622 | "get": {
4623 | "tags": [
4624 | "nfd"
4625 | ],
4626 | "summary": "twitterLeaders nfd",
4627 | "description": "Get top twitter influencers",
4628 | "operationId": "nfd#twitterLeaders",
4629 | "parameters": [
4630 | {
4631 | "name": "if-none-match",
4632 | "in": "header",
4633 | "description": "etag",
4634 | "allowEmptyValue": true,
4635 | "schema": {
4636 | "type": "string",
4637 | "description": "etag"
4638 | }
4639 | }
4640 | ],
4641 | "responses": {
4642 | "200": {
4643 | "description": "OK response.",
4644 | "headers": {
4645 | "ETag": {
4646 | "description": "ETag",
4647 | "schema": {
4648 | "type": "string",
4649 | "description": "ETag",
4650 | "example": "abc123"
4651 | },
4652 | "example": "abc123"
4653 | },
4654 | "cache-control": {
4655 | "description": "Cache-Control header",
4656 | "schema": {
4657 | "type": "string",
4658 | "description": "Cache-Control header",
4659 | "example": "abc123"
4660 | },
4661 | "example": "abc123"
4662 | }
4663 | },
4664 | "content": {
4665 | "application/json": {
4666 | "schema": {
4667 | "type": "array",
4668 | "items": {
4669 | "$ref": "#/components/schemas/TwitterRecord"
4670 | },
4671 | "example": [
4672 | {
4673 | "followers": 1,
4674 | "following": 1,
4675 | "nfd": {
4676 | "appID": 1000000,
4677 | "asaID": 1,
4678 | "avatarOutdated": false,
4679 | "caAlgo": [
4680 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4681 | ],
4682 | "cache-control": "abc123",
4683 | "category": "abc123",
4684 | "currentAsOfBlock": 1,
4685 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4686 | "etag": "abc123",
4687 | "expired": false,
4688 | "match-check": "abc123",
4689 | "metaTags": [
4690 | "abc123"
4691 | ],
4692 | "name": "abc123",
4693 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4694 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4695 | "parentAppID": 1000000,
4696 | "properties": {
4697 | "internal": {
4698 | "abc123": "abc123"
4699 | },
4700 | "userDefined": {
4701 | "ca:b": "abc123"
4702 | },
4703 | "verified": {
4704 | "caAlgo": "abc123"
4705 | }
4706 | },
4707 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4708 | "saleType": "abc123",
4709 | "sellAmount": 1,
4710 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4711 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4712 | "state": "abc123",
4713 | "tags": [
4714 | "abc123"
4715 | ],
4716 | "timeChanged": "1970-01-01T00:00:01Z",
4717 | "timeCreated": "1970-01-01T00:00:01Z",
4718 | "timeExpires": "1970-01-01T00:00:01Z",
4719 | "timePurchased": "1970-01-01T00:00:01Z",
4720 | "unverifiedCa": {
4721 | "btc": [
4722 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
4723 | ]
4724 | },
4725 | "unverifiedCaAlgo": [
4726 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4727 | ]
4728 | },
4729 | "timeChanged": "1970-01-01T00:00:01Z",
4730 | "tweets": 1,
4731 | "twitterHandle": "abc123"
4732 | }
4733 | ]
4734 | },
4735 | "example": [
4736 | {
4737 | "followers": 1,
4738 | "following": 1,
4739 | "nfd": {
4740 | "appID": 1000000,
4741 | "asaID": 1,
4742 | "avatarOutdated": false,
4743 | "caAlgo": [
4744 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4745 | ],
4746 | "cache-control": "abc123",
4747 | "category": "abc123",
4748 | "currentAsOfBlock": 1,
4749 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4750 | "etag": "abc123",
4751 | "expired": false,
4752 | "match-check": "abc123",
4753 | "metaTags": [
4754 | "abc123"
4755 | ],
4756 | "name": "abc123",
4757 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4758 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4759 | "parentAppID": 1000000,
4760 | "properties": {
4761 | "internal": {
4762 | "abc123": "abc123"
4763 | },
4764 | "userDefined": {
4765 | "ca:b": "abc123"
4766 | },
4767 | "verified": {
4768 | "caAlgo": "abc123"
4769 | }
4770 | },
4771 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4772 | "saleType": "abc123",
4773 | "sellAmount": 1,
4774 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4775 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
4776 | "state": "abc123",
4777 | "tags": [
4778 | "abc123"
4779 | ],
4780 | "timeChanged": "1970-01-01T00:00:01Z",
4781 | "timeCreated": "1970-01-01T00:00:01Z",
4782 | "timeExpires": "1970-01-01T00:00:01Z",
4783 | "timePurchased": "1970-01-01T00:00:01Z",
4784 | "unverifiedCa": {
4785 | "btc": [
4786 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
4787 | ]
4788 | },
4789 | "unverifiedCaAlgo": [
4790 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
4791 | ]
4792 | },
4793 | "timeChanged": "1970-01-01T00:00:01Z",
4794 | "tweets": 1,
4795 | "twitterHandle": "abc123"
4796 | }
4797 | ]
4798 | }
4799 | }
4800 | },
4801 | "304": {
4802 | "description": "ETag not changed"
4803 | },
4804 | "400": {
4805 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
4806 | "content": {
4807 | "application/vnd.goa.error": {
4808 | "schema": {
4809 | "$ref": "#/components/schemas/Error"
4810 | }
4811 | }
4812 | }
4813 | },
4814 | "404": {
4815 | "description": "notFound: Not Found response.",
4816 | "content": {
4817 | "application/vnd.goa.error": {
4818 | "schema": {
4819 | "$ref": "#/components/schemas/Error"
4820 | }
4821 | }
4822 | }
4823 | },
4824 | "429": {
4825 | "description": "rateLimited: Too Many Requests response.",
4826 | "content": {
4827 | "application/json": {
4828 | "schema": {
4829 | "$ref": "#/components/schemas/RateLimited"
4830 | },
4831 | "example": {
4832 | "limit": 5,
4833 | "secsRemaining": 50
4834 | }
4835 | }
4836 | }
4837 | }
4838 | }
4839 | }
4840 | },
4841 | "/nfd/update/{name}": {
4842 | "patch": {
4843 | "tags": [
4844 | "nfd"
4845 | ],
4846 | "summary": "updatePartial nfd",
4847 | "description": "Set an attribute in an NFD on behalf of a particular sender (who must be the owner). Can set user-defined fields, or clear verified fields (except v.ca*)",
4848 | "operationId": "nfd#updatePartial",
4849 | "parameters": [
4850 | {
4851 | "name": "name",
4852 | "in": "path",
4853 | "required": true,
4854 | "schema": {
4855 | "type": "string",
4856 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
4857 | "example": "silvio.algo",
4858 | "pattern": "^.+\\.algo$",
4859 | "minLength": 1,
4860 | "maxLength": 120
4861 | },
4862 | "example": "silvio.algo"
4863 | }
4864 | ],
4865 | "requestBody": {
4866 | "required": true,
4867 | "content": {
4868 | "application/json": {
4869 | "schema": {
4870 | "$ref": "#/components/schemas/UpdatePartialRequestBody"
4871 | },
4872 | "example": {
4873 | "properties": {
4874 | "internal": {
4875 | "abc123": "abc123"
4876 | },
4877 | "userDefined": {
4878 | "ca:b": "abc123"
4879 | },
4880 | "verified": {
4881 | "caAlgo": "abc123"
4882 | }
4883 | },
4884 | "sender": "333333333333333333333333333333333333333333333333333333333A"
4885 | }
4886 | }
4887 | }
4888 | },
4889 | "responses": {
4890 | "202": {
4891 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
4892 | "content": {
4893 | "application/json": {
4894 | "schema": {
4895 | "type": "string",
4896 | "example": "abc123"
4897 | },
4898 | "example": "abc123"
4899 | }
4900 | }
4901 | },
4902 | "400": {
4903 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
4904 | "content": {
4905 | "application/vnd.goa.error": {
4906 | "schema": {
4907 | "$ref": "#/components/schemas/Error"
4908 | }
4909 | }
4910 | }
4911 | },
4912 | "403": {
4913 | "description": "invalidFieldSet: You can only set user-defined properties, or clear verified properties",
4914 | "content": {
4915 | "application/vnd.goa.error": {
4916 | "schema": {
4917 | "$ref": "#/components/schemas/Error"
4918 | }
4919 | }
4920 | }
4921 | },
4922 | "404": {
4923 | "description": "notFound: Not Found response.",
4924 | "content": {
4925 | "application/vnd.goa.error": {
4926 | "schema": {
4927 | "$ref": "#/components/schemas/Error"
4928 | }
4929 | }
4930 | }
4931 | },
4932 | "413": {
4933 | "description": "tooManyTransactions: The number of transactions allowed in a single transaction group (16) have been exceeded. Update fewer fields in one transaction, or if selling, reduce the data within the NFD first.",
4934 | "content": {
4935 | "application/vnd.goa.error": {
4936 | "schema": {
4937 | "$ref": "#/components/schemas/Error"
4938 | }
4939 | }
4940 | }
4941 | },
4942 | "429": {
4943 | "description": "rateLimited: Too Many Requests response.",
4944 | "content": {
4945 | "application/json": {
4946 | "schema": {
4947 | "$ref": "#/components/schemas/RateLimited"
4948 | },
4949 | "example": {
4950 | "limit": 5,
4951 | "secsRemaining": 50
4952 | }
4953 | }
4954 | }
4955 | }
4956 | }
4957 | },
4958 | "put": {
4959 | "tags": [
4960 | "nfd"
4961 | ],
4962 | "summary": "updateAll nfd",
4963 | "description": "Replace all NFD user-settable attributes with those passed-in, removing, adding and replacing on behalf of a particular sender (who must be the owner). Returns transaction group of transactions to sign",
4964 | "operationId": "nfd#updateAll",
4965 | "parameters": [
4966 | {
4967 | "name": "name",
4968 | "in": "path",
4969 | "required": true,
4970 | "schema": {
4971 | "type": "string",
4972 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
4973 | "example": "silvio.algo",
4974 | "pattern": "^.+\\.algo$",
4975 | "minLength": 1,
4976 | "maxLength": 120
4977 | },
4978 | "example": "silvio.algo"
4979 | }
4980 | ],
4981 | "requestBody": {
4982 | "required": true,
4983 | "content": {
4984 | "application/json": {
4985 | "schema": {
4986 | "$ref": "#/components/schemas/UpdatePartialRequestBody"
4987 | },
4988 | "example": {
4989 | "properties": {
4990 | "internal": {
4991 | "abc123": "abc123"
4992 | },
4993 | "userDefined": {
4994 | "ca:b": "abc123"
4995 | },
4996 | "verified": {
4997 | "caAlgo": "abc123"
4998 | }
4999 | },
5000 | "sender": "333333333333333333333333333333333333333333333333333333333A"
5001 | }
5002 | }
5003 | }
5004 | },
5005 | "responses": {
5006 | "202": {
5007 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
5008 | "content": {
5009 | "application/json": {
5010 | "schema": {
5011 | "type": "string",
5012 | "example": "abc123"
5013 | },
5014 | "example": "abc123"
5015 | }
5016 | }
5017 | },
5018 | "400": {
5019 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
5020 | "content": {
5021 | "application/vnd.goa.error": {
5022 | "schema": {
5023 | "$ref": "#/components/schemas/Error"
5024 | }
5025 | }
5026 | }
5027 | },
5028 | "403": {
5029 | "description": "invalidFieldSet: You can only set user-defined properties, or clear verified properties",
5030 | "content": {
5031 | "application/vnd.goa.error": {
5032 | "schema": {
5033 | "$ref": "#/components/schemas/Error"
5034 | }
5035 | }
5036 | }
5037 | },
5038 | "404": {
5039 | "description": "notFound: Not Found response.",
5040 | "content": {
5041 | "application/vnd.goa.error": {
5042 | "schema": {
5043 | "$ref": "#/components/schemas/Error"
5044 | }
5045 | }
5046 | }
5047 | },
5048 | "413": {
5049 | "description": "tooManyTransactions: The number of transactions allowed in a single transaction group (16) have been exceeded. Update fewer fields in one transaction, or if selling, reduce the data within the NFD first.",
5050 | "content": {
5051 | "application/vnd.goa.error": {
5052 | "schema": {
5053 | "$ref": "#/components/schemas/Error"
5054 | }
5055 | }
5056 | }
5057 | },
5058 | "429": {
5059 | "description": "rateLimited: Too Many Requests response.",
5060 | "content": {
5061 | "application/json": {
5062 | "schema": {
5063 | "$ref": "#/components/schemas/RateLimited"
5064 | },
5065 | "example": {
5066 | "limit": 5,
5067 | "secsRemaining": 50
5068 | }
5069 | }
5070 | }
5071 | }
5072 | }
5073 | }
5074 | },
5075 | "/nfd/updateImage/{name}/{sender}/{which}": {
5076 | "post": {
5077 | "tags": [
5078 | "nfd"
5079 | ],
5080 | "summary": "updateImage nfd",
5081 | "description": "Update the avatar or banner image associated with an NFD by uploading new image content",
5082 | "operationId": "nfd#updateImage",
5083 | "parameters": [
5084 | {
5085 | "name": "wantTxn",
5086 | "in": "query",
5087 | "description": "Whether to return transactions to sign to update the specified image attribute within the NFD",
5088 | "allowEmptyValue": true,
5089 | "schema": {
5090 | "type": "boolean",
5091 | "description": "Whether to return transactions to sign to update the specified image attribute within the NFD",
5092 | "default": true,
5093 | "example": false
5094 | },
5095 | "example": false
5096 | },
5097 | {
5098 | "name": "name",
5099 | "in": "path",
5100 | "required": true,
5101 | "schema": {
5102 | "type": "string",
5103 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
5104 | "example": "silvio.algo",
5105 | "pattern": "^.+\\.algo$",
5106 | "minLength": 1,
5107 | "maxLength": 120
5108 | },
5109 | "example": "silvio.algo"
5110 | },
5111 | {
5112 | "name": "sender",
5113 | "in": "path",
5114 | "description": "Address that will be signing the returned transactions. Should be owner of NFD",
5115 | "required": true,
5116 | "schema": {
5117 | "type": "string",
5118 | "description": "An Algorand Account address",
5119 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5120 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
5121 | },
5122 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
5123 | },
5124 | {
5125 | "name": "which",
5126 | "in": "path",
5127 | "description": "Which image to update, avatar or banner",
5128 | "required": true,
5129 | "schema": {
5130 | "type": "string",
5131 | "description": "Which image to update, avatar or banner",
5132 | "example": "banner",
5133 | "enum": [
5134 | "avatar",
5135 | "banner"
5136 | ]
5137 | },
5138 | "example": "banner"
5139 | }
5140 | ],
5141 | "responses": {
5142 | "200": {
5143 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
5144 | "content": {
5145 | "application/json": {
5146 | "schema": {
5147 | "type": "string",
5148 | "example": "abc123"
5149 | },
5150 | "example": "abc123"
5151 | }
5152 | }
5153 | },
5154 | "400": {
5155 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
5156 | "content": {
5157 | "application/vnd.goa.error": {
5158 | "schema": {
5159 | "$ref": "#/components/schemas/Error"
5160 | }
5161 | }
5162 | }
5163 | },
5164 | "403": {
5165 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
5166 | "content": {
5167 | "application/vnd.goa.error": {
5168 | "schema": {
5169 | "$ref": "#/components/schemas/Error"
5170 | }
5171 | }
5172 | }
5173 | },
5174 | "404": {
5175 | "description": "notFound: Not Found response.",
5176 | "content": {
5177 | "application/vnd.goa.error": {
5178 | "schema": {
5179 | "$ref": "#/components/schemas/Error"
5180 | }
5181 | }
5182 | }
5183 | },
5184 | "413": {
5185 | "description": "imageTooLarge: Images must be <10 Megabytes in size",
5186 | "content": {
5187 | "application/vnd.goa.error": {
5188 | "schema": {
5189 | "$ref": "#/components/schemas/Error"
5190 | }
5191 | }
5192 | }
5193 | },
5194 | "429": {
5195 | "description": "rateLimited: Too Many Requests response.",
5196 | "content": {
5197 | "application/json": {
5198 | "schema": {
5199 | "$ref": "#/components/schemas/RateLimited"
5200 | },
5201 | "example": {
5202 | "limit": 5,
5203 | "secsRemaining": 50
5204 | }
5205 | }
5206 | }
5207 | }
5208 | }
5209 | }
5210 | },
5211 | "/nfd/v2/address": {
5212 | "get": {
5213 | "tags": [
5214 | "nfd"
5215 | ],
5216 | "summary": "Reverse Address lookup with results returned per address",
5217 | "description": "Get all NFDs which have been explicitly linked to one or more verified [or unverified] Algorand address(es). Unverified addresses will match but return as unverifiedCaAlgo array. These should be treated specially and not have the same trust level as verified addresses as they can be falsely attributed. The caAlgo array is what should be trusted for things like NFT creation addresses. For reverse lookups returning multiple NFDs, the first result should be used.",
5218 | "operationId": "nfd#getNFDsForAddressesV2",
5219 | "parameters": [
5220 | {
5221 | "name": "address",
5222 | "in": "query",
5223 | "description": "one or more addresses (algo or otherwise) to look up, maximum of 20 can be defined. Specify the same query parameter multiple times for each address, ie: address=xxx&address=yyy&address=zzz",
5224 | "allowEmptyValue": true,
5225 | "required": true,
5226 | "schema": {
5227 | "type": "array",
5228 | "items": {
5229 | "type": "string",
5230 | "example": "abc123"
5231 | },
5232 | "description": "one or more addresses (algo or otherwise) to look up, maximum of 20 can be defined. Specify the same query parameter multiple times for each address, ie: address=xxx&address=yyy&address=zzz",
5233 | "example": [
5234 | "abc123",
5235 | "abc123"
5236 | ],
5237 | "minItems": 1,
5238 | "maxItems": 20
5239 | },
5240 | "example": [
5241 | "abc123",
5242 | "abc123"
5243 | ]
5244 | },
5245 | {
5246 | "name": "limit",
5247 | "in": "query",
5248 | "description": "Limit the total number of NFDs returned - automatically changed to at least be 1 per address",
5249 | "allowEmptyValue": true,
5250 | "schema": {
5251 | "type": "integer",
5252 | "description": "Limit the total number of NFDs returned - automatically changed to at least be 1 per address",
5253 | "default": 20,
5254 | "format": "int64",
5255 | "minimum": 1,
5256 | "maximum": 200
5257 | }
5258 | },
5259 | {
5260 | "name": "view",
5261 | "in": "query",
5262 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only [default]), thumbnail (tiny + avatar), brief, or full",
5263 | "allowEmptyValue": true,
5264 | "schema": {
5265 | "type": "string",
5266 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only [default]), thumbnail (tiny + avatar), brief, or full",
5267 | "default": "tiny",
5268 | "enum": [
5269 | "tiny",
5270 | "thumbnail",
5271 | "brief",
5272 | "full"
5273 | ]
5274 | }
5275 | },
5276 | {
5277 | "name": "if-none-match",
5278 | "in": "header",
5279 | "description": "etag",
5280 | "allowEmptyValue": true,
5281 | "schema": {
5282 | "type": "string",
5283 | "description": "etag"
5284 | }
5285 | }
5286 | ],
5287 | "responses": {
5288 | "200": {
5289 | "description": "OK response.",
5290 | "headers": {
5291 | "ETag": {
5292 | "description": "ETag",
5293 | "schema": {
5294 | "type": "string",
5295 | "description": "ETag",
5296 | "example": "abc123"
5297 | },
5298 | "example": "abc123"
5299 | },
5300 | "cache-control": {
5301 | "description": "Cache-Control header",
5302 | "schema": {
5303 | "type": "string",
5304 | "description": "Cache-Control header",
5305 | "example": "abc123"
5306 | },
5307 | "example": "abc123"
5308 | }
5309 | },
5310 | "content": {
5311 | "application/json": {
5312 | "schema": {
5313 | "type": "object",
5314 | "example": {
5315 | "abc123": [
5316 | {
5317 | "appID": 1000000,
5318 | "asaID": 1,
5319 | "avatarOutdated": false,
5320 | "caAlgo": [
5321 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
5322 | ],
5323 | "cache-control": "abc123",
5324 | "category": "abc123",
5325 | "currentAsOfBlock": 1,
5326 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5327 | "etag": "abc123",
5328 | "expired": false,
5329 | "match-check": "abc123",
5330 | "metaTags": [
5331 | "abc123"
5332 | ],
5333 | "name": "abc123",
5334 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5335 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5336 | "parentAppID": 1000000,
5337 | "properties": {
5338 | "internal": {
5339 | "abc123": "abc123"
5340 | },
5341 | "userDefined": {
5342 | "ca:b": "abc123"
5343 | },
5344 | "verified": {
5345 | "caAlgo": "abc123"
5346 | }
5347 | },
5348 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5349 | "saleType": "abc123",
5350 | "sellAmount": 1,
5351 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5352 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5353 | "state": "abc123",
5354 | "tags": [
5355 | "abc123"
5356 | ],
5357 | "timeChanged": "1970-01-01T00:00:01Z",
5358 | "timeCreated": "1970-01-01T00:00:01Z",
5359 | "timeExpires": "1970-01-01T00:00:01Z",
5360 | "timePurchased": "1970-01-01T00:00:01Z",
5361 | "unverifiedCa": {
5362 | "btc": [
5363 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
5364 | ]
5365 | },
5366 | "unverifiedCaAlgo": [
5367 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
5368 | ]
5369 | }
5370 | ]
5371 | },
5372 | "additionalProperties": {
5373 | "$ref": "#/components/schemas/NfdRecordinaddressCollection"
5374 | }
5375 | },
5376 | "example": {
5377 | "abc123": [
5378 | {
5379 | "appID": 1000000,
5380 | "asaID": 1,
5381 | "avatarOutdated": false,
5382 | "caAlgo": [
5383 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
5384 | ],
5385 | "cache-control": "abc123",
5386 | "category": "abc123",
5387 | "currentAsOfBlock": 1,
5388 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5389 | "etag": "abc123",
5390 | "expired": false,
5391 | "match-check": "abc123",
5392 | "metaTags": [
5393 | "abc123"
5394 | ],
5395 | "name": "abc123",
5396 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5397 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5398 | "parentAppID": 1000000,
5399 | "properties": {
5400 | "internal": {
5401 | "abc123": "abc123"
5402 | },
5403 | "userDefined": {
5404 | "ca:b": "abc123"
5405 | },
5406 | "verified": {
5407 | "caAlgo": "abc123"
5408 | }
5409 | },
5410 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5411 | "saleType": "abc123",
5412 | "sellAmount": 1,
5413 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5414 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5415 | "state": "abc123",
5416 | "tags": [
5417 | "abc123"
5418 | ],
5419 | "timeChanged": "1970-01-01T00:00:01Z",
5420 | "timeCreated": "1970-01-01T00:00:01Z",
5421 | "timeExpires": "1970-01-01T00:00:01Z",
5422 | "timePurchased": "1970-01-01T00:00:01Z",
5423 | "unverifiedCa": {
5424 | "btc": [
5425 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
5426 | ]
5427 | },
5428 | "unverifiedCaAlgo": [
5429 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
5430 | ]
5431 | }
5432 | ]
5433 | }
5434 | }
5435 | }
5436 | },
5437 | "304": {
5438 | "description": "ETag not changed"
5439 | },
5440 | "400": {
5441 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
5442 | "content": {
5443 | "application/vnd.goa.error": {}
5444 | }
5445 | },
5446 | "404": {
5447 | "description": "notFound: Not Found response.",
5448 | "headers": {
5449 | "goa-attribute-fault": {
5450 | "description": "Is the error a server-side fault?",
5451 | "schema": {
5452 | "type": "boolean",
5453 | "description": "Is the error a server-side fault?",
5454 | "example": false
5455 | },
5456 | "example": false
5457 | },
5458 | "goa-attribute-id": {
5459 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
5460 | "schema": {
5461 | "type": "string",
5462 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
5463 | "example": "123abc"
5464 | },
5465 | "example": "123abc"
5466 | },
5467 | "goa-attribute-message": {
5468 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
5469 | "schema": {
5470 | "type": "string",
5471 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
5472 | "example": "parameter 'p' must be an integer"
5473 | },
5474 | "example": "parameter 'p' must be an integer"
5475 | },
5476 | "goa-attribute-name": {
5477 | "description": "Name is the name of this class of errors.",
5478 | "schema": {
5479 | "type": "string",
5480 | "description": "Name is the name of this class of errors.",
5481 | "example": "bad_request"
5482 | },
5483 | "example": "bad_request"
5484 | },
5485 | "goa-attribute-temporary": {
5486 | "description": "Is the error temporary?",
5487 | "schema": {
5488 | "type": "boolean",
5489 | "description": "Is the error temporary?",
5490 | "example": false
5491 | },
5492 | "example": false
5493 | },
5494 | "goa-attribute-timeout": {
5495 | "description": "Is the error a timeout?",
5496 | "schema": {
5497 | "type": "boolean",
5498 | "description": "Is the error a timeout?",
5499 | "example": false
5500 | },
5501 | "example": false
5502 | }
5503 | }
5504 | },
5505 | "429": {
5506 | "description": "rateLimited: Too Many Requests response.",
5507 | "content": {
5508 | "application/json": {
5509 | "schema": {
5510 | "$ref": "#/components/schemas/RateLimited"
5511 | },
5512 | "example": {
5513 | "limit": 5,
5514 | "secsRemaining": 50
5515 | }
5516 | }
5517 | }
5518 | }
5519 | }
5520 | }
5521 | },
5522 | "/nfd/v2/donations/leaders/{name}": {
5523 | "get": {
5524 | "tags": [
5525 | "nfd"
5526 | ],
5527 | "summary": "donationLeadersV2 nfd",
5528 | "description": "Get top donors to a specific NFD Donation target",
5529 | "operationId": "nfd#donationLeadersV2",
5530 | "parameters": [
5531 | {
5532 | "name": "name",
5533 | "in": "path",
5534 | "required": true,
5535 | "schema": {
5536 | "type": "string",
5537 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
5538 | "example": "silvio.algo",
5539 | "pattern": "^.+\\.algo$",
5540 | "minLength": 1,
5541 | "maxLength": 120
5542 | },
5543 | "example": "silvio.algo"
5544 | }
5545 | ],
5546 | "responses": {
5547 | "200": {
5548 | "description": "OK response.",
5549 | "content": {
5550 | "application/json": {
5551 | "schema": {
5552 | "type": "array",
5553 | "items": {
5554 | "$ref": "#/components/schemas/Donation"
5555 | },
5556 | "example": [
5557 | {
5558 | "address": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5559 | "total": 1
5560 | }
5561 | ]
5562 | },
5563 | "example": [
5564 | {
5565 | "address": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5566 | "total": 1
5567 | }
5568 | ]
5569 | }
5570 | }
5571 | },
5572 | "304": {
5573 | "description": "Not Modified response."
5574 | },
5575 | "400": {
5576 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
5577 | "content": {
5578 | "application/vnd.goa.error": {
5579 | "schema": {
5580 | "$ref": "#/components/schemas/Error"
5581 | }
5582 | }
5583 | }
5584 | },
5585 | "404": {
5586 | "description": "notFound: Not Found response.",
5587 | "content": {
5588 | "application/vnd.goa.error": {
5589 | "schema": {
5590 | "$ref": "#/components/schemas/Error"
5591 | }
5592 | }
5593 | }
5594 | },
5595 | "429": {
5596 | "description": "rateLimited: Too Many Requests response.",
5597 | "content": {
5598 | "application/json": {
5599 | "schema": {
5600 | "$ref": "#/components/schemas/RateLimited"
5601 | },
5602 | "example": {
5603 | "limit": 5,
5604 | "secsRemaining": 50
5605 | }
5606 | }
5607 | }
5608 | }
5609 | }
5610 | }
5611 | },
5612 | "/nfd/v2/donations/list": {
5613 | "get": {
5614 | "tags": [
5615 | "nfd"
5616 | ],
5617 | "summary": "donationListV2 nfd",
5618 | "description": "Fetch list of tracked Donation NFD 'targets'.",
5619 | "operationId": "nfd#donationListV2",
5620 | "responses": {
5621 | "200": {
5622 | "description": "OK response.",
5623 | "content": {
5624 | "application/json": {
5625 | "schema": {
5626 | "$ref": "#/components/schemas/NfdRecordResponseFullCollection"
5627 | },
5628 | "example": [
5629 | {
5630 | "appID": 1000000,
5631 | "asaID": 1,
5632 | "avatarOutdated": false,
5633 | "caAlgo": [
5634 | "333333333333333333333333333333333333333333333333333333333A"
5635 | ],
5636 | "category": "premium",
5637 | "currentAsOfBlock": 1,
5638 | "depositAccount": "333333333333333333333333333333333333333333333333333333333A",
5639 | "expired": false,
5640 | "match-check": "abc123",
5641 | "metaTags": [
5642 | "abc123"
5643 | ],
5644 | "name": "abc123",
5645 | "nfdAccount": "333333333333333333333333333333333333333333333333333333333A",
5646 | "owner": "333333333333333333333333333333333333333333333333333333333A",
5647 | "parentAppID": 1000000,
5648 | "properties": {
5649 | "internal": {
5650 | "abc123": "abc123"
5651 | },
5652 | "userDefined": {
5653 | "ca:b": "abc123"
5654 | },
5655 | "verified": {
5656 | "caAlgo": "abc123"
5657 | }
5658 | },
5659 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
5660 | "saleType": "buyItNow",
5661 | "sellAmount": 1,
5662 | "seller": "333333333333333333333333333333333333333333333333333333333A",
5663 | "sigNameAddress": "333333333333333333333333333333333333333333333333333333333A",
5664 | "state": "minting",
5665 | "tags": [
5666 | "abc123"
5667 | ],
5668 | "timeChanged": "1970-01-01T00:00:01Z",
5669 | "timeCreated": "1970-01-01T00:00:01Z",
5670 | "timeExpires": "1970-01-01T00:00:01Z",
5671 | "timePurchased": "1970-01-01T00:00:01Z",
5672 | "unverifiedCa": {
5673 | "btc": [
5674 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
5675 | ]
5676 | },
5677 | "unverifiedCaAlgo": [
5678 | "333333333333333333333333333333333333333333333333333333333A"
5679 | ]
5680 | }
5681 | ]
5682 | }
5683 | }
5684 | },
5685 | "400": {
5686 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
5687 | "content": {
5688 | "application/vnd.goa.error": {
5689 | "schema": {
5690 | "$ref": "#/components/schemas/Error"
5691 | }
5692 | }
5693 | }
5694 | },
5695 | "404": {
5696 | "description": "notFound: Not Found response.",
5697 | "content": {
5698 | "application/vnd.goa.error": {
5699 | "schema": {
5700 | "$ref": "#/components/schemas/Error"
5701 | }
5702 | }
5703 | }
5704 | },
5705 | "429": {
5706 | "description": "rateLimited: Too Many Requests response.",
5707 | "content": {
5708 | "application/json": {
5709 | "schema": {
5710 | "$ref": "#/components/schemas/RateLimited"
5711 | },
5712 | "example": {
5713 | "limit": 5,
5714 | "secsRemaining": 50
5715 | }
5716 | }
5717 | }
5718 | }
5719 | }
5720 | }
5721 | },
5722 | "/nfd/v2/search": {
5723 | "get": {
5724 | "tags": [
5725 | "nfd"
5726 | ],
5727 | "summary": "Search NFDs via various filters",
5728 | "description": "Search NFDs via various filters",
5729 | "operationId": "nfd#searchV2",
5730 | "parameters": [
5731 | {
5732 | "name": "name",
5733 | "in": "query",
5734 | "description": "name or partial match of NFD name to filter on",
5735 | "allowEmptyValue": true,
5736 | "schema": {
5737 | "type": "string",
5738 | "description": "name or partial match of NFD name to filter on"
5739 | }
5740 | },
5741 | {
5742 | "name": "category",
5743 | "in": "query",
5744 | "allowEmptyValue": true,
5745 | "schema": {
5746 | "type": "array",
5747 | "items": {
5748 | "type": "string",
5749 | "description": "Category of NFD",
5750 | "example": "premium",
5751 | "enum": [
5752 | "curated",
5753 | "premium",
5754 | "common"
5755 | ]
5756 | }
5757 | }
5758 | },
5759 | {
5760 | "name": "saleType",
5761 | "in": "query",
5762 | "allowEmptyValue": true,
5763 | "schema": {
5764 | "type": "array",
5765 | "items": {
5766 | "type": "string",
5767 | "description": "Sale type of NFD",
5768 | "example": "buyItNow",
5769 | "enum": [
5770 | "auction",
5771 | "buyItNow"
5772 | ]
5773 | }
5774 | }
5775 | },
5776 | {
5777 | "name": "state",
5778 | "in": "query",
5779 | "allowEmptyValue": true,
5780 | "schema": {
5781 | "type": "array",
5782 | "items": {
5783 | "type": "string",
5784 | "description": "State of NFD",
5785 | "example": "forSale",
5786 | "enum": [
5787 | "reserved",
5788 | "forSale",
5789 | "owned",
5790 | "expired"
5791 | ]
5792 | }
5793 | }
5794 | },
5795 | {
5796 | "name": "parentAppID",
5797 | "in": "query",
5798 | "description": "The parent NFD Application ID to find. Used for fetching segments of an NFD",
5799 | "allowEmptyValue": true,
5800 | "schema": {
5801 | "type": "integer",
5802 | "description": "The parent NFD Application ID to find. Used for fetching segments of an NFD",
5803 | "example": 1000000,
5804 | "format": "int64"
5805 | },
5806 | "example": 1000000
5807 | },
5808 | {
5809 | "name": "length",
5810 | "in": "query",
5811 | "description": "Length of NFD",
5812 | "allowEmptyValue": true,
5813 | "schema": {
5814 | "type": "array",
5815 | "items": {
5816 | "type": "string",
5817 | "example": "2_letters",
5818 | "enum": [
5819 | "1_letters",
5820 | "2_letters",
5821 | "3_letters",
5822 | "4_letters",
5823 | "5_letters",
5824 | "6_letters",
5825 | "7_letters",
5826 | "8_letters",
5827 | "9_letters",
5828 | "10+_letters"
5829 | ]
5830 | },
5831 | "description": "Length of NFD"
5832 | }
5833 | },
5834 | {
5835 | "name": "traits",
5836 | "in": "query",
5837 | "description": "Traits of NFD",
5838 | "allowEmptyValue": true,
5839 | "schema": {
5840 | "type": "array",
5841 | "items": {
5842 | "type": "string",
5843 | "example": "pristine",
5844 | "enum": [
5845 | "emoji",
5846 | "pristine",
5847 | "segment"
5848 | ]
5849 | },
5850 | "description": "Traits of NFD"
5851 | }
5852 | },
5853 | {
5854 | "name": "owner",
5855 | "in": "query",
5856 | "description": "An Algorand account address to find all NFDs owned by that address",
5857 | "allowEmptyValue": true,
5858 | "schema": {
5859 | "type": "string",
5860 | "description": "An Algorand Account address",
5861 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5862 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
5863 | },
5864 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
5865 | },
5866 | {
5867 | "name": "reservedFor",
5868 | "in": "query",
5869 | "description": "An Algorand account address to find all NFDs reserved for that address",
5870 | "allowEmptyValue": true,
5871 | "schema": {
5872 | "type": "string",
5873 | "description": "An Algorand Account address",
5874 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
5875 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
5876 | },
5877 | "example": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
5878 | },
5879 | {
5880 | "name": "excludeUserReserved",
5881 | "in": "query",
5882 | "description": "Should NFDs reserved for an account (transfers for example or unclaimed winning auctions) be excluded",
5883 | "allowEmptyValue": true,
5884 | "schema": {
5885 | "type": "boolean",
5886 | "description": "Should NFDs reserved for an account (transfers for example or unclaimed winning auctions) be excluded"
5887 | }
5888 | },
5889 | {
5890 | "name": "prefix",
5891 | "in": "query",
5892 | "description": "The start of an NFD name, fetching multiple NFDs that have that prefix",
5893 | "allowEmptyValue": true,
5894 | "schema": {
5895 | "type": "string",
5896 | "description": "The start of an NFD name, fetching multiple NFDs that have that prefix",
5897 | "minLength": 1,
5898 | "maxLength": 32
5899 | }
5900 | },
5901 | {
5902 | "name": "substring",
5903 | "in": "query",
5904 | "description": "Part of an NFD name, fetching multiple NFDs that have that substring (minimum 3 characters)",
5905 | "allowEmptyValue": true,
5906 | "schema": {
5907 | "type": "string",
5908 | "description": "Part of an NFD name, fetching multiple NFDs that have that substring (minimum 3 characters)",
5909 | "minLength": 3,
5910 | "maxLength": 32
5911 | }
5912 | },
5913 | {
5914 | "name": "vproperty",
5915 | "in": "query",
5916 | "description": "Verified property name to search on - specify value with vvalue",
5917 | "allowEmptyValue": true,
5918 | "schema": {
5919 | "type": "string",
5920 | "description": "Verified property name to search on - specify value with vvalue",
5921 | "example": "discord",
5922 | "enum": [
5923 | "blueskydid",
5924 | "discord",
5925 | "telegram",
5926 | "twitter",
5927 | "github",
5928 | "email",
5929 | "domain",
5930 | "nostrpubkey"
5931 | ]
5932 | },
5933 | "example": "discord"
5934 | },
5935 | {
5936 | "name": "vvalue",
5937 | "in": "query",
5938 | "description": "Value to find in the vproperty field specified with the vproperty parameter",
5939 | "allowEmptyValue": true,
5940 | "schema": {
5941 | "type": "string",
5942 | "description": "Value to find in the vproperty field specified with the vproperty parameter",
5943 | "example": "abc123"
5944 | },
5945 | "example": "abc123"
5946 | },
5947 | {
5948 | "name": "segmentLocked",
5949 | "in": "query",
5950 | "description": "Whether to explicitly filter on segments being locked or unlocked. Typically only valuable when filtering on unlocked",
5951 | "allowEmptyValue": true,
5952 | "schema": {
5953 | "type": "boolean",
5954 | "description": "Whether to explicitly filter on segments being locked or unlocked. Typically only valuable when filtering on unlocked",
5955 | "example": false
5956 | },
5957 | "example": false
5958 | },
5959 | {
5960 | "name": "segmentRoot",
5961 | "in": "query",
5962 | "description": "Whether to explicitly filter on NFD roots or segments. True to only see roots, False to only see segments.",
5963 | "allowEmptyValue": true,
5964 | "schema": {
5965 | "type": "boolean",
5966 | "description": "Whether to explicitly filter on NFD roots or segments. True to only see roots, False to only see segments.",
5967 | "example": false
5968 | },
5969 | "example": false
5970 | },
5971 | {
5972 | "name": "minPrice",
5973 | "in": "query",
5974 | "description": "Minimum price of NFD",
5975 | "allowEmptyValue": true,
5976 | "schema": {
5977 | "type": "integer",
5978 | "description": "Minimum price of NFD",
5979 | "format": "int64"
5980 | }
5981 | },
5982 | {
5983 | "name": "maxPrice",
5984 | "in": "query",
5985 | "description": "Maximum price of NFD",
5986 | "allowEmptyValue": true,
5987 | "schema": {
5988 | "type": "integer",
5989 | "description": "Maximum price of NFD",
5990 | "format": "int64"
5991 | }
5992 | },
5993 | {
5994 | "name": "minPriceUsd",
5995 | "in": "query",
5996 | "description": "Minimum price of NFD Segment in USD (cents)",
5997 | "allowEmptyValue": true,
5998 | "schema": {
5999 | "type": "integer",
6000 | "description": "Minimum price of NFD Segment in USD (cents)",
6001 | "format": "int64"
6002 | }
6003 | },
6004 | {
6005 | "name": "maxPriceUsd",
6006 | "in": "query",
6007 | "description": "Maximum price of NFD Segment in USD (cents)",
6008 | "allowEmptyValue": true,
6009 | "schema": {
6010 | "type": "integer",
6011 | "description": "Maximum price of NFD Segment in USD (cents)",
6012 | "format": "int64"
6013 | }
6014 | },
6015 | {
6016 | "name": "changedAfter",
6017 | "in": "query",
6018 | "description": "Fetch NFDs that changed after the specified timestamp",
6019 | "allowEmptyValue": true,
6020 | "schema": {
6021 | "type": "string",
6022 | "description": "Fetch NFDs that changed after the specified timestamp",
6023 | "example": "1970-01-01T00:00:01Z",
6024 | "format": "date-time"
6025 | },
6026 | "example": "1970-01-01T00:00:01Z"
6027 | },
6028 | {
6029 | "name": "expiresBefore",
6030 | "in": "query",
6031 | "description": "Return only NFDs with an expiration time at or before the specified timestamp",
6032 | "allowEmptyValue": true,
6033 | "schema": {
6034 | "type": "string",
6035 | "description": "Return only NFDs with an expiration time at or before the specified timestamp",
6036 | "example": "1970-01-01T00:00:01Z",
6037 | "format": "date-time"
6038 | },
6039 | "example": "1970-01-01T00:00:01Z"
6040 | },
6041 | {
6042 | "name": "limit",
6043 | "in": "query",
6044 | "description": "Limit the number of results returned - max 200",
6045 | "allowEmptyValue": true,
6046 | "schema": {
6047 | "type": "integer",
6048 | "description": "Limit the number of results returned - max 200",
6049 | "default": 50,
6050 | "format": "int64",
6051 | "minimum": 1,
6052 | "maximum": 200
6053 | }
6054 | },
6055 | {
6056 | "name": "offset",
6057 | "in": "query",
6058 | "description": "Starting document in large list. Fetch 1-100 [limit 100], pass offset 100 to fetch 100-200",
6059 | "allowEmptyValue": true,
6060 | "schema": {
6061 | "type": "integer",
6062 | "description": "Starting document in large list. Fetch 1-100 [limit 100], pass offset 100 to fetch 100-200",
6063 | "default": 0,
6064 | "format": "int64",
6065 | "minimum": 0
6066 | }
6067 | },
6068 | {
6069 | "name": "sort",
6070 | "in": "query",
6071 | "description": "What to sort on",
6072 | "allowEmptyValue": true,
6073 | "schema": {
6074 | "type": "string",
6075 | "description": "What to sort on",
6076 | "default": "createdDesc",
6077 | "enum": [
6078 | "createdDesc",
6079 | "timeChangedDesc",
6080 | "soldDesc",
6081 | "priceAsc",
6082 | "priceDesc",
6083 | "highestSaleDesc",
6084 | "saleTypeAsc",
6085 | "nameAsc",
6086 | "expiresAsc",
6087 | "expiresDesc"
6088 | ]
6089 | }
6090 | },
6091 | {
6092 | "name": "view",
6093 | "in": "query",
6094 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only), brief (default), or full",
6095 | "allowEmptyValue": true,
6096 | "schema": {
6097 | "type": "string",
6098 | "description": "View of data to return, tiny (name, owner, caAlgo, unverifiedCaAlgo only), brief (default), or full",
6099 | "default": "brief",
6100 | "enum": [
6101 | "tiny",
6102 | "thumbnail",
6103 | "brief",
6104 | "full"
6105 | ]
6106 | }
6107 | },
6108 | {
6109 | "name": "if-none-match",
6110 | "in": "header",
6111 | "description": "etag",
6112 | "allowEmptyValue": true,
6113 | "schema": {
6114 | "type": "string",
6115 | "description": "etag"
6116 | }
6117 | }
6118 | ],
6119 | "responses": {
6120 | "200": {
6121 | "description": "OK response.",
6122 | "headers": {
6123 | "ETag": {
6124 | "description": "ETag",
6125 | "schema": {
6126 | "type": "string",
6127 | "description": "ETag",
6128 | "example": "abc123"
6129 | },
6130 | "example": "abc123"
6131 | },
6132 | "cache-control": {
6133 | "description": "Cache-Control header",
6134 | "schema": {
6135 | "type": "string",
6136 | "description": "Cache-Control header",
6137 | "example": "abc123"
6138 | },
6139 | "example": "abc123"
6140 | }
6141 | },
6142 | "content": {
6143 | "application/json": {
6144 | "schema": {
6145 | "$ref": "#/components/schemas/NfdV2SearchRecords"
6146 | },
6147 | "example": {
6148 | "match-check": "abc123",
6149 | "nfds": [
6150 | {
6151 | "appID": 1000000,
6152 | "asaID": 1,
6153 | "avatarOutdated": false,
6154 | "caAlgo": [
6155 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
6156 | ],
6157 | "cache-control": "abc123",
6158 | "category": "abc123",
6159 | "currentAsOfBlock": 1,
6160 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6161 | "etag": "abc123",
6162 | "expired": false,
6163 | "match-check": "abc123",
6164 | "metaTags": [
6165 | "abc123"
6166 | ],
6167 | "name": "abc123",
6168 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6169 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6170 | "parentAppID": 1000000,
6171 | "properties": {
6172 | "internal": {
6173 | "abc123": "abc123"
6174 | },
6175 | "userDefined": {
6176 | "ca:b": "abc123"
6177 | },
6178 | "verified": {
6179 | "caAlgo": "abc123"
6180 | }
6181 | },
6182 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6183 | "saleType": "abc123",
6184 | "sellAmount": 1,
6185 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6186 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6187 | "state": "abc123",
6188 | "tags": [
6189 | "abc123"
6190 | ],
6191 | "timeChanged": "1970-01-01T00:00:01Z",
6192 | "timeCreated": "1970-01-01T00:00:01Z",
6193 | "timeExpires": "1970-01-01T00:00:01Z",
6194 | "timePurchased": "1970-01-01T00:00:01Z",
6195 | "unverifiedCa": {
6196 | "btc": [
6197 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
6198 | ]
6199 | },
6200 | "unverifiedCaAlgo": [
6201 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
6202 | ]
6203 | }
6204 | ],
6205 | "total": 1
6206 | }
6207 | }
6208 | }
6209 | },
6210 | "304": {
6211 | "description": "ETag not changed"
6212 | },
6213 | "400": {
6214 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
6215 | "content": {
6216 | "application/vnd.goa.error": {
6217 | "schema": {
6218 | "$ref": "#/components/schemas/Error"
6219 | }
6220 | }
6221 | }
6222 | },
6223 | "404": {
6224 | "description": "notFound: Not Found response.",
6225 | "content": {
6226 | "application/vnd.goa.error": {
6227 | "schema": {
6228 | "$ref": "#/components/schemas/Error"
6229 | }
6230 | }
6231 | }
6232 | },
6233 | "429": {
6234 | "description": "rateLimited: Too Many Requests response.",
6235 | "content": {
6236 | "application/json": {
6237 | "schema": {
6238 | "$ref": "#/components/schemas/RateLimited"
6239 | },
6240 | "example": {
6241 | "limit": 5,
6242 | "secsRemaining": 50
6243 | }
6244 | }
6245 | }
6246 | }
6247 | }
6248 | }
6249 | },
6250 | "/nfd/v3/contract/upgrade/{name}": {
6251 | "post": {
6252 | "tags": [
6253 | "nfd"
6254 | ],
6255 | "summary": "ContractUpgradeV3 nfd",
6256 | "description": "Request upgrade of a 2.11 or 3.x NFD to 3.x+ (post renewals). First switch to 3.x will pay 1 year renewal fee",
6257 | "operationId": "nfd#ContractUpgradeV3",
6258 | "parameters": [
6259 | {
6260 | "name": "name",
6261 | "in": "path",
6262 | "required": true,
6263 | "schema": {
6264 | "type": "string",
6265 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
6266 | "example": "silvio.algo",
6267 | "pattern": "^.+\\.algo$",
6268 | "minLength": 1,
6269 | "maxLength": 120
6270 | },
6271 | "example": "silvio.algo"
6272 | }
6273 | ],
6274 | "requestBody": {
6275 | "required": true,
6276 | "content": {
6277 | "application/json": {
6278 | "schema": {
6279 | "$ref": "#/components/schemas/RescindOfferRequestBody"
6280 | },
6281 | "example": {
6282 | "sender": "333333333333333333333333333333333333333333333333333333333A"
6283 | }
6284 | }
6285 | }
6286 | },
6287 | "responses": {
6288 | "200": {
6289 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
6290 | "content": {
6291 | "application/json": {
6292 | "schema": {
6293 | "type": "string",
6294 | "example": "abc123"
6295 | },
6296 | "example": "abc123"
6297 | }
6298 | }
6299 | },
6300 | "400": {
6301 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
6302 | "content": {
6303 | "application/vnd.goa.error": {
6304 | "schema": {
6305 | "$ref": "#/components/schemas/Error"
6306 | }
6307 | }
6308 | }
6309 | },
6310 | "403": {
6311 | "description": "upgradeNotNeeded: The NFD contract doesn't need upgraded",
6312 | "content": {
6313 | "application/vnd.goa.error": {
6314 | "schema": {
6315 | "$ref": "#/components/schemas/Error"
6316 | }
6317 | }
6318 | }
6319 | },
6320 | "404": {
6321 | "description": "notFound: Not Found response.",
6322 | "content": {
6323 | "application/vnd.goa.error": {
6324 | "schema": {
6325 | "$ref": "#/components/schemas/Error"
6326 | }
6327 | }
6328 | }
6329 | },
6330 | "429": {
6331 | "description": "rateLimited: Too Many Requests response.",
6332 | "content": {
6333 | "application/json": {
6334 | "schema": {
6335 | "$ref": "#/components/schemas/RateLimited"
6336 | },
6337 | "example": {
6338 | "limit": 5,
6339 | "secsRemaining": 50
6340 | }
6341 | }
6342 | }
6343 | }
6344 | }
6345 | }
6346 | },
6347 | "/nfd/vault/lock/{name}": {
6348 | "post": {
6349 | "tags": [
6350 | "nfd"
6351 | ],
6352 | "summary": "vaultOptInLock nfd",
6353 | "description": "Lock/Unlock ability for the specified NFD Vault to auto opt-in to assets, allowing airdrops from other accounts",
6354 | "operationId": "nfd#vaultOptInLock",
6355 | "parameters": [
6356 | {
6357 | "name": "name",
6358 | "in": "path",
6359 | "required": true,
6360 | "schema": {
6361 | "type": "string",
6362 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
6363 | "example": "silvio.algo",
6364 | "pattern": "^.+\\.algo$",
6365 | "minLength": 1,
6366 | "maxLength": 120
6367 | },
6368 | "example": "silvio.algo"
6369 | }
6370 | ],
6371 | "requestBody": {
6372 | "required": true,
6373 | "content": {
6374 | "application/json": {
6375 | "schema": {
6376 | "$ref": "#/components/schemas/ContractLockRequestBody"
6377 | },
6378 | "example": {
6379 | "lock": false,
6380 | "sender": "333333333333333333333333333333333333333333333333333333333A"
6381 | }
6382 | }
6383 | }
6384 | },
6385 | "responses": {
6386 | "200": {
6387 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
6388 | "content": {
6389 | "application/json": {
6390 | "schema": {
6391 | "type": "string",
6392 | "example": "abc123"
6393 | },
6394 | "example": "abc123"
6395 | }
6396 | }
6397 | },
6398 | "400": {
6399 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
6400 | "content": {
6401 | "application/vnd.goa.error": {
6402 | "schema": {
6403 | "$ref": "#/components/schemas/Error"
6404 | }
6405 | }
6406 | }
6407 | },
6408 | "404": {
6409 | "description": "notFound: Not Found response.",
6410 | "content": {
6411 | "application/vnd.goa.error": {
6412 | "schema": {
6413 | "$ref": "#/components/schemas/Error"
6414 | }
6415 | }
6416 | }
6417 | },
6418 | "429": {
6419 | "description": "rateLimited: Too Many Requests response.",
6420 | "content": {
6421 | "application/json": {
6422 | "schema": {
6423 | "$ref": "#/components/schemas/RateLimited"
6424 | },
6425 | "example": {
6426 | "limit": 5,
6427 | "secsRemaining": 50
6428 | }
6429 | }
6430 | }
6431 | }
6432 | }
6433 | }
6434 | },
6435 | "/nfd/vault/sendFrom/{name}": {
6436 | "post": {
6437 | "tags": [
6438 | "nfd"
6439 | ],
6440 | "summary": "sendFromVault nfd",
6441 | "description": "Send an amount of an asset [0 == ALGO] to another account FROM the NFD Vault. Only owner of NFD can send.",
6442 | "operationId": "nfd#sendFromVault",
6443 | "parameters": [
6444 | {
6445 | "name": "name",
6446 | "in": "path",
6447 | "required": true,
6448 | "schema": {
6449 | "type": "string",
6450 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
6451 | "example": "silvio.algo",
6452 | "pattern": "^.+\\.algo$",
6453 | "minLength": 1,
6454 | "maxLength": 120
6455 | },
6456 | "example": "silvio.algo"
6457 | }
6458 | ],
6459 | "requestBody": {
6460 | "required": true,
6461 | "content": {
6462 | "application/json": {
6463 | "schema": {
6464 | "$ref": "#/components/schemas/SendFromVaultRequestBody"
6465 | },
6466 | "example": {
6467 | "amount": 1,
6468 | "amountStr": "abc123",
6469 | "assets": [
6470 | 1,
6471 | 1
6472 | ],
6473 | "note": "aaa",
6474 | "receiver": "abc123",
6475 | "receiverCanSign": false,
6476 | "receiverType": "nfdVault",
6477 | "sender": "333333333333333333333333333333333333333333333333333333333A"
6478 | }
6479 | }
6480 | }
6481 | },
6482 | "responses": {
6483 | "200": {
6484 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
6485 | "content": {
6486 | "application/json": {
6487 | "schema": {
6488 | "type": "string",
6489 | "example": "abc123"
6490 | },
6491 | "example": "abc123"
6492 | }
6493 | }
6494 | },
6495 | "400": {
6496 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
6497 | "content": {
6498 | "application/vnd.goa.error": {
6499 | "schema": {
6500 | "$ref": "#/components/schemas/Error"
6501 | }
6502 | }
6503 | }
6504 | },
6505 | "403": {
6506 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
6507 | "content": {
6508 | "application/vnd.goa.error": {
6509 | "schema": {
6510 | "$ref": "#/components/schemas/Error"
6511 | }
6512 | }
6513 | }
6514 | },
6515 | "404": {
6516 | "description": "notFound: Not Found response.",
6517 | "content": {
6518 | "application/vnd.goa.error": {
6519 | "schema": {
6520 | "$ref": "#/components/schemas/Error"
6521 | }
6522 | }
6523 | }
6524 | },
6525 | "429": {
6526 | "description": "rateLimited: Too Many Requests response.",
6527 | "content": {
6528 | "application/json": {
6529 | "schema": {
6530 | "$ref": "#/components/schemas/RateLimited"
6531 | },
6532 | "example": {
6533 | "limit": 5,
6534 | "secsRemaining": 50
6535 | }
6536 | }
6537 | }
6538 | }
6539 | }
6540 | }
6541 | },
6542 | "/nfd/vault/sendTo/{name}": {
6543 | "post": {
6544 | "tags": [
6545 | "nfd"
6546 | ],
6547 | "summary": "sendToVault nfd",
6548 | "description": "Provide transaction to send an asset owned by sender account to an NFD vault. Call to have opt-in to vault will be included if necessary. Callable by NFD owner, or if Opt-in is UNLOCKED (or asset already opted-in), anyone can call",
6549 | "operationId": "nfd#sendToVault",
6550 | "parameters": [
6551 | {
6552 | "name": "name",
6553 | "in": "path",
6554 | "required": true,
6555 | "schema": {
6556 | "type": "string",
6557 | "description": "Name of a NFD, alphanumeric only or emojis/alphanumeric",
6558 | "example": "silvio.algo",
6559 | "pattern": "^.+\\.algo$",
6560 | "minLength": 1,
6561 | "maxLength": 120
6562 | },
6563 | "example": "silvio.algo"
6564 | }
6565 | ],
6566 | "requestBody": {
6567 | "required": true,
6568 | "content": {
6569 | "application/json": {
6570 | "schema": {
6571 | "$ref": "#/components/schemas/SendToVaultRequestBody"
6572 | },
6573 | "example": {
6574 | "amount": 1,
6575 | "amountStr": "abc123",
6576 | "assets": [
6577 | 1,
6578 | 1
6579 | ],
6580 | "note": "aaa",
6581 | "optInOnly": false,
6582 | "sender": "333333333333333333333333333333333333333333333333333333333A"
6583 | }
6584 | }
6585 | }
6586 | },
6587 | "responses": {
6588 | "200": {
6589 | "description": "Returns (as escaped string) array of paired values representing a transaction group to submit to an Algorand node. u or s for unsigned or signed, followed by the base64-encoded message-pack of an unsigned transaction (to be signed by sender/buyer) or a signed transaction to be submitted as-is.",
6590 | "content": {
6591 | "application/json": {
6592 | "schema": {
6593 | "type": "string",
6594 | "example": "abc123"
6595 | },
6596 | "example": "abc123"
6597 | }
6598 | }
6599 | },
6600 | "400": {
6601 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
6602 | "content": {
6603 | "application/vnd.goa.error": {
6604 | "schema": {
6605 | "$ref": "#/components/schemas/Error"
6606 | }
6607 | }
6608 | }
6609 | },
6610 | "403": {
6611 | "description": "upgradeRequired: The NFD contract needs upgraded before this operation will be allowed",
6612 | "content": {
6613 | "application/vnd.goa.error": {
6614 | "schema": {
6615 | "$ref": "#/components/schemas/Error"
6616 | }
6617 | }
6618 | }
6619 | },
6620 | "404": {
6621 | "description": "notFound: Not Found response.",
6622 | "content": {
6623 | "application/vnd.goa.error": {
6624 | "schema": {
6625 | "$ref": "#/components/schemas/Error"
6626 | }
6627 | }
6628 | }
6629 | },
6630 | "413": {
6631 | "description": "tooManyTransactions: The number of transactions allowed in a single transaction group (16) have been exceeded.",
6632 | "content": {
6633 | "application/vnd.goa.error": {
6634 | "schema": {
6635 | "$ref": "#/components/schemas/Error"
6636 | }
6637 | }
6638 | }
6639 | },
6640 | "429": {
6641 | "description": "rateLimited: Too Many Requests response.",
6642 | "content": {
6643 | "application/json": {
6644 | "schema": {
6645 | "$ref": "#/components/schemas/RateLimited"
6646 | },
6647 | "example": {
6648 | "limit": 5,
6649 | "secsRemaining": 50
6650 | }
6651 | }
6652 | }
6653 | }
6654 | }
6655 | }
6656 | },
6657 | "/nfd/verify/confirm/{id}": {
6658 | "post": {
6659 | "tags": [
6660 | "nfd"
6661 | ],
6662 | "summary": "verifyConfirm nfd",
6663 | "description": "Verify a particular piece of data on, or off-chain. Each verification differs in its requirements",
6664 | "operationId": "nfd#verifyConfirm",
6665 | "parameters": [
6666 | {
6667 | "name": "id",
6668 | "in": "path",
6669 | "description": "ID of challenge, must be used in subsequent confirmation call",
6670 | "required": true,
6671 | "schema": {
6672 | "type": "string",
6673 | "description": "ID of challenge, must be used in subsequent confirmation call",
6674 | "example": "abc123"
6675 | },
6676 | "example": "abc123"
6677 | }
6678 | ],
6679 | "requestBody": {
6680 | "required": true,
6681 | "content": {
6682 | "application/json": {
6683 | "schema": {
6684 | "$ref": "#/components/schemas/VerifyConfirmRequestBody"
6685 | },
6686 | "example": {
6687 | "challenge": "abc123"
6688 | }
6689 | }
6690 | }
6691 | },
6692 | "responses": {
6693 | "200": {
6694 | "description": "OK response.",
6695 | "content": {
6696 | "application/json": {
6697 | "schema": {
6698 | "$ref": "#/components/schemas/VerifyConfirmResponseBody"
6699 | },
6700 | "example": {
6701 | "confirmed": false
6702 | }
6703 | }
6704 | }
6705 | },
6706 | "400": {
6707 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
6708 | "content": {
6709 | "application/vnd.goa.error": {
6710 | "schema": {
6711 | "$ref": "#/components/schemas/Error"
6712 | }
6713 | }
6714 | }
6715 | },
6716 | "403": {
6717 | "description": "noNFDNSubscription: No active subscription to NFDN",
6718 | "headers": {
6719 | "goa-attribute-fault": {
6720 | "description": "Is the error a server-side fault?",
6721 | "schema": {
6722 | "type": "boolean",
6723 | "description": "Is the error a server-side fault?",
6724 | "example": false
6725 | },
6726 | "example": false
6727 | },
6728 | "goa-attribute-id": {
6729 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
6730 | "schema": {
6731 | "type": "string",
6732 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
6733 | "example": "123abc"
6734 | },
6735 | "example": "123abc"
6736 | },
6737 | "goa-attribute-message": {
6738 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
6739 | "schema": {
6740 | "type": "string",
6741 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
6742 | "example": "parameter 'p' must be an integer"
6743 | },
6744 | "example": "parameter 'p' must be an integer"
6745 | },
6746 | "goa-attribute-name": {
6747 | "description": "Name is the name of this class of errors.",
6748 | "schema": {
6749 | "type": "string",
6750 | "description": "Name is the name of this class of errors.",
6751 | "example": "bad_request"
6752 | },
6753 | "example": "bad_request"
6754 | },
6755 | "goa-attribute-temporary": {
6756 | "description": "Is the error temporary?",
6757 | "schema": {
6758 | "type": "boolean",
6759 | "description": "Is the error temporary?",
6760 | "example": false
6761 | },
6762 | "example": false
6763 | },
6764 | "goa-attribute-timeout": {
6765 | "description": "Is the error a timeout?",
6766 | "schema": {
6767 | "type": "boolean",
6768 | "description": "Is the error a timeout?",
6769 | "example": false
6770 | },
6771 | "example": false
6772 | }
6773 | }
6774 | },
6775 | "404": {
6776 | "description": "notFound: Not Found response.",
6777 | "content": {
6778 | "application/vnd.goa.error": {
6779 | "schema": {
6780 | "$ref": "#/components/schemas/Error"
6781 | }
6782 | }
6783 | }
6784 | },
6785 | "429": {
6786 | "description": "rateLimited: Too Many Requests response.",
6787 | "content": {
6788 | "application/json": {
6789 | "schema": {
6790 | "$ref": "#/components/schemas/RateLimited"
6791 | },
6792 | "example": {
6793 | "limit": 5,
6794 | "secsRemaining": 50
6795 | }
6796 | }
6797 | }
6798 | }
6799 | }
6800 | }
6801 | },
6802 | "/nfd/verify/request": {
6803 | "post": {
6804 | "tags": [
6805 | "nfd"
6806 | ],
6807 | "summary": "verifyRequest nfd",
6808 | "description": "Request Verification for particular piece of data on, or off-chain. Each verification differs in its requirements. Returns data to be used in challenge",
6809 | "operationId": "nfd#verifyRequest",
6810 | "requestBody": {
6811 | "required": true,
6812 | "content": {
6813 | "application/json": {
6814 | "schema": {
6815 | "$ref": "#/components/schemas/VerifyRequestRequestBody"
6816 | },
6817 | "example": {
6818 | "fieldToVerify": "twitter",
6819 | "name": "aa",
6820 | "sender": "333333333333333333333333333333333333333333333333333333333A"
6821 | }
6822 | }
6823 | }
6824 | },
6825 | "responses": {
6826 | "200": {
6827 | "description": "OK response.",
6828 | "content": {
6829 | "application/json": {
6830 | "schema": {
6831 | "$ref": "#/components/schemas/VerifyRequestResponseBody"
6832 | },
6833 | "example": {
6834 | "challenge": "abc123",
6835 | "id": "abc123",
6836 | "validated": false
6837 | }
6838 | }
6839 | }
6840 | },
6841 | "400": {
6842 | "description": "invalidAddress: invalidAddress is returned for an Algorand address that doesn't appear to be valid",
6843 | "content": {
6844 | "application/vnd.goa.error": {
6845 | "schema": {
6846 | "$ref": "#/components/schemas/Error"
6847 | }
6848 | }
6849 | }
6850 | },
6851 | "404": {
6852 | "description": "notFound: Not Found response.",
6853 | "content": {
6854 | "application/vnd.goa.error": {
6855 | "schema": {
6856 | "$ref": "#/components/schemas/Error"
6857 | }
6858 | }
6859 | }
6860 | },
6861 | "429": {
6862 | "description": "rateLimited: Too Many Requests response.",
6863 | "content": {
6864 | "application/json": {
6865 | "schema": {
6866 | "$ref": "#/components/schemas/RateLimited"
6867 | },
6868 | "example": {
6869 | "limit": 5,
6870 | "secsRemaining": 50
6871 | }
6872 | }
6873 | }
6874 | }
6875 | }
6876 | }
6877 | }
6878 | },
6879 | "components": {
6880 | "schemas": {
6881 | "BlueskyRecord": {
6882 | "type": "object",
6883 | "properties": {
6884 | "blueskydid": {
6885 | "type": "string",
6886 | "example": "abc123"
6887 | },
6888 | "displayName": {
6889 | "type": "string",
6890 | "example": "abc123"
6891 | },
6892 | "followers": {
6893 | "type": "integer",
6894 | "example": 1,
6895 | "format": "int64"
6896 | },
6897 | "following": {
6898 | "type": "integer",
6899 | "example": 1,
6900 | "format": "int64"
6901 | },
6902 | "handle": {
6903 | "type": "string",
6904 | "example": "abc123"
6905 | },
6906 | "nfd": {
6907 | "$ref": "#/components/schemas/NFD"
6908 | },
6909 | "posts": {
6910 | "type": "integer",
6911 | "example": 1,
6912 | "format": "int64"
6913 | }
6914 | },
6915 | "description": "BlueskyRecord contains information about an NFD w/ Verified Blueesky account and basic info on its metrics",
6916 | "example": {
6917 | "blueskydid": "abc123",
6918 | "displayName": "abc123",
6919 | "followers": 1,
6920 | "following": 1,
6921 | "handle": "abc123",
6922 | "nfd": {
6923 | "appID": 1000000,
6924 | "asaID": 1,
6925 | "avatarOutdated": false,
6926 | "caAlgo": [
6927 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
6928 | ],
6929 | "cache-control": "abc123",
6930 | "category": "abc123",
6931 | "currentAsOfBlock": 1,
6932 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6933 | "etag": "abc123",
6934 | "expired": false,
6935 | "match-check": "abc123",
6936 | "metaTags": [
6937 | "abc123"
6938 | ],
6939 | "name": "abc123",
6940 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6941 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6942 | "parentAppID": 1000000,
6943 | "properties": {
6944 | "internal": {
6945 | "abc123": "abc123"
6946 | },
6947 | "userDefined": {
6948 | "ca:b": "abc123"
6949 | },
6950 | "verified": {
6951 | "caAlgo": "abc123"
6952 | }
6953 | },
6954 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6955 | "saleType": "abc123",
6956 | "sellAmount": 1,
6957 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6958 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
6959 | "state": "abc123",
6960 | "tags": [
6961 | "abc123"
6962 | ],
6963 | "timeChanged": "1970-01-01T00:00:01Z",
6964 | "timeCreated": "1970-01-01T00:00:01Z",
6965 | "timeExpires": "1970-01-01T00:00:01Z",
6966 | "timePurchased": "1970-01-01T00:00:01Z",
6967 | "unverifiedCa": {
6968 | "btc": [
6969 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
6970 | ]
6971 | },
6972 | "unverifiedCaAlgo": [
6973 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
6974 | ]
6975 | },
6976 | "posts": 1
6977 | },
6978 | "required": [
6979 | "nfd",
6980 | "blueskydid",
6981 | "displayName",
6982 | "handle",
6983 | "followers",
6984 | "following",
6985 | "posts"
6986 | ]
6987 | },
6988 | "ConsensusRecord": {
6989 | "type": "object",
6990 | "properties": {
6991 | "account": {
6992 | "type": "string",
6993 | "example": "abc123"
6994 | },
6995 | "lastPropBlock": {
6996 | "type": "integer",
6997 | "example": 1,
6998 | "format": "int64"
6999 | },
7000 | "lastPropTime": {
7001 | "type": "string",
7002 | "example": "1970-01-01T00:00:01Z",
7003 | "format": "date-time"
7004 | },
7005 | "lastVoteBlock": {
7006 | "type": "integer",
7007 | "example": 1,
7008 | "format": "int64"
7009 | },
7010 | "lastVoteTime": {
7011 | "type": "string",
7012 | "example": "1970-01-01T00:00:01Z",
7013 | "format": "date-time"
7014 | },
7015 | "linkType": {
7016 | "type": "string",
7017 | "example": "abc123"
7018 | },
7019 | "ownerAccount": {
7020 | "type": "string",
7021 | "example": "abc123"
7022 | },
7023 | "pctOfOnline": {
7024 | "type": "number",
7025 | "example": 1,
7026 | "format": "double"
7027 | },
7028 | "proposals": {
7029 | "type": "integer",
7030 | "example": 1,
7031 | "format": "int64"
7032 | },
7033 | "rank": {
7034 | "type": "integer",
7035 | "example": 1,
7036 | "format": "int64"
7037 | },
7038 | "votes": {
7039 | "type": "integer",
7040 | "example": 1,
7041 | "format": "int64"
7042 | }
7043 | },
7044 | "description": "ConsensusRecord contains information about an account that participated in consensus",
7045 | "example": {
7046 | "account": "abc123",
7047 | "lastPropBlock": 1,
7048 | "lastPropTime": "1970-01-01T00:00:01Z",
7049 | "lastVoteBlock": 1,
7050 | "lastVoteTime": "1970-01-01T00:00:01Z",
7051 | "linkType": "abc123",
7052 | "ownerAccount": "abc123",
7053 | "pctOfOnline": 1,
7054 | "proposals": 1,
7055 | "rank": 1,
7056 | "votes": 1
7057 | },
7058 | "required": [
7059 | "account",
7060 | "ownerAccount",
7061 | "pctOfOnline"
7062 | ]
7063 | },
7064 | "ContractLockRequestBody": {
7065 | "type": "object",
7066 | "properties": {
7067 | "lock": {
7068 | "type": "boolean",
7069 | "description": "Whether to lock (true), or unlock (false)",
7070 | "example": false
7071 | },
7072 | "sender": {
7073 | "type": "string",
7074 | "description": "Sender of transaction - needs to be owner of NFD",
7075 | "example": "333333333333333333333333333333333333333333333333333333333A",
7076 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7077 | }
7078 | },
7079 | "example": {
7080 | "lock": false,
7081 | "sender": "333333333333333333333333333333333333333333333333333333333A"
7082 | },
7083 | "required": [
7084 | "sender",
7085 | "lock"
7086 | ]
7087 | },
7088 | "Donation": {
7089 | "type": "object",
7090 | "properties": {
7091 | "address": {
7092 | "type": "string",
7093 | "description": "Sender or Receiver Algorand address depending on request",
7094 | "example": "333333333333333333333333333333333333333333333333333333333A",
7095 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7096 | },
7097 | "total": {
7098 | "type": "integer",
7099 | "description": "Total donation in microAlgos",
7100 | "example": 1,
7101 | "format": "int64"
7102 | }
7103 | },
7104 | "description": "Donation contains basic information about donation totals to specific addresses from accounts related to an NFD",
7105 | "example": {
7106 | "address": "333333333333333333333333333333333333333333333333333333333A",
7107 | "total": 1
7108 | },
7109 | "required": [
7110 | "address",
7111 | "total"
7112 | ]
7113 | },
7114 | "Error": {
7115 | "type": "object",
7116 | "properties": {
7117 | "fault": {
7118 | "type": "boolean",
7119 | "description": "Is the error a server-side fault?",
7120 | "example": false
7121 | },
7122 | "id": {
7123 | "type": "string",
7124 | "description": "ID is a unique identifier for this particular occurrence of the problem.",
7125 | "example": "123abc"
7126 | },
7127 | "message": {
7128 | "type": "string",
7129 | "description": "Message is a human-readable explanation specific to this occurrence of the problem.",
7130 | "example": "parameter 'p' must be an integer"
7131 | },
7132 | "name": {
7133 | "type": "string",
7134 | "description": "Name is the name of this class of errors.",
7135 | "example": "bad_request"
7136 | },
7137 | "temporary": {
7138 | "type": "boolean",
7139 | "description": "Is the error temporary?",
7140 | "example": false
7141 | },
7142 | "timeout": {
7143 | "type": "boolean",
7144 | "description": "Is the error a timeout?",
7145 | "example": false
7146 | }
7147 | },
7148 | "example": {
7149 | "fault": false,
7150 | "id": "123abc",
7151 | "message": "parameter 'p' must be an integer",
7152 | "name": "bad_request",
7153 | "temporary": false,
7154 | "timeout": false
7155 | },
7156 | "required": [
7157 | "name",
7158 | "id",
7159 | "message",
7160 | "temporary",
7161 | "timeout",
7162 | "fault"
7163 | ]
7164 | },
7165 | "GetQuoteResponseBody": {
7166 | "type": "object",
7167 | "properties": {
7168 | "carryCost": {
7169 | "type": "integer",
7170 | "description": "extra needed to cover MBR (if necessary) - price already includes this amount",
7171 | "example": 1,
7172 | "format": "int64"
7173 | },
7174 | "exists": {
7175 | "type": "boolean",
7176 | "description": "whether the nfd exists. if so, cost is renewal, otherwise mint (including carry)",
7177 | "example": false
7178 | },
7179 | "inAuction": {
7180 | "type": "boolean",
7181 | "description": "if nfd is in auction pricing for given buyer",
7182 | "example": false
7183 | },
7184 | "isExpired": {
7185 | "type": "boolean",
7186 | "description": "whether the (existing) nfd is expired",
7187 | "example": false
7188 | },
7189 | "price": {
7190 | "type": "integer",
7191 | "description": "price in microAlgo for 1 year w/ carry cost (if needs minted) added in. subtract carry cost for per-year cost",
7192 | "example": 1,
7193 | "format": "int64"
7194 | }
7195 | },
7196 | "example": {
7197 | "carryCost": 1,
7198 | "exists": false,
7199 | "inAuction": false,
7200 | "isExpired": false,
7201 | "price": 1
7202 | },
7203 | "required": [
7204 | "price",
7205 | "carryCost",
7206 | "exists",
7207 | "isExpired",
7208 | "inAuction"
7209 | ]
7210 | },
7211 | "IsValidASAResponseBody": {
7212 | "type": "object",
7213 | "properties": {
7214 | "appID": {
7215 | "type": "integer",
7216 | "example": 1,
7217 | "format": "int64"
7218 | },
7219 | "isValid": {
7220 | "type": "boolean",
7221 | "example": false
7222 | },
7223 | "message": {
7224 | "type": "string",
7225 | "example": "abc123"
7226 | },
7227 | "name": {
7228 | "type": "string",
7229 | "example": "abc123"
7230 | }
7231 | },
7232 | "description": "Whether NFD NFT ASA ID is for authentic NFD",
7233 | "example": {
7234 | "appID": 1,
7235 | "isValid": false,
7236 | "message": "abc123",
7237 | "name": "abc123"
7238 | },
7239 | "required": [
7240 | "isValid",
7241 | "name",
7242 | "appID",
7243 | "message"
7244 | ]
7245 | },
7246 | "IsValidNFDResponseBody": {
7247 | "type": "object",
7248 | "properties": {
7249 | "isValid": {
7250 | "type": "boolean",
7251 | "example": false
7252 | },
7253 | "message": {
7254 | "type": "string",
7255 | "example": "abc123"
7256 | },
7257 | "name": {
7258 | "type": "string",
7259 | "example": "abc123"
7260 | },
7261 | "sigNameAddress": {
7262 | "type": "string",
7263 | "example": "abc123"
7264 | }
7265 | },
7266 | "description": "Whether NFD App ID is for authentic NFD",
7267 | "example": {
7268 | "isValid": false,
7269 | "message": "abc123",
7270 | "name": "abc123",
7271 | "sigNameAddress": "abc123"
7272 | },
7273 | "required": [
7274 | "isValid",
7275 | "name",
7276 | "message"
7277 | ]
7278 | },
7279 | "LinkAddressRequestBody": {
7280 | "type": "object",
7281 | "properties": {
7282 | "address": {
7283 | "type": "array",
7284 | "items": {
7285 | "type": "string",
7286 | "example": "333333333333333333333333333333333333333333333333333333333A",
7287 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7288 | },
7289 | "description": "Address(es) to link to the NFD (must be able to sign for each)",
7290 | "example": [
7291 | "333333333333333333333333333333333333333333333333333333333A",
7292 | "333333333333333333333333333333333333333333333333333333333A",
7293 | "333333333333333333333333333333333333333333333333333333333A"
7294 | ],
7295 | "maxItems": 7
7296 | },
7297 | "sender": {
7298 | "type": "string",
7299 | "description": "Address that will be signing the returned transactions. Should be owner of NFD",
7300 | "example": "333333333333333333333333333333333333333333333333333333333A",
7301 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7302 | }
7303 | },
7304 | "example": {
7305 | "address": [
7306 | "333333333333333333333333333333333333333333333333333333333A",
7307 | "333333333333333333333333333333333333333333333333333333333A",
7308 | "333333333333333333333333333333333333333333333333333333333A"
7309 | ],
7310 | "sender": "333333333333333333333333333333333333333333333333333333333A"
7311 | },
7312 | "required": [
7313 | "sender",
7314 | "address"
7315 | ]
7316 | },
7317 | "MintRequestBody": {
7318 | "type": "object",
7319 | "properties": {
7320 | "algoOffer": {
7321 | "type": "integer",
7322 | "description": "Offer price in ALGO. Expiration time set prorated based on amount paid vs fixed per-year cost when years argument is used",
7323 | "example": 2,
7324 | "format": "int64",
7325 | "minimum": 1,
7326 | "maximum": 100000000
7327 | },
7328 | "buyer": {
7329 | "type": "string",
7330 | "description": "Address paying/signing for minting transaction",
7331 | "example": "333333333333333333333333333333333333333333333333333333333A",
7332 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7333 | },
7334 | "name": {
7335 | "type": "string",
7336 | "example": "aa",
7337 | "pattern": "^.+\\.algo$",
7338 | "minLength": 1,
7339 | "maxLength": 120
7340 | },
7341 | "reservedFor": {
7342 | "type": "string",
7343 | "description": "Address NFD is being minted for if not buyer",
7344 | "example": "333333333333333333333333333333333333333333333333333333333A",
7345 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7346 | },
7347 | "years": {
7348 | "type": "integer",
7349 | "description": "Number of years until expiration, 1 yr minimum, 20 max, extending renewal date - sets price in multiples of 1 year",
7350 | "example": 2,
7351 | "format": "int64",
7352 | "minimum": 1,
7353 | "maximum": 20
7354 | }
7355 | },
7356 | "example": {
7357 | "algoOffer": 2,
7358 | "buyer": "333333333333333333333333333333333333333333333333333333333A",
7359 | "name": "aa",
7360 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
7361 | "years": 2
7362 | },
7363 | "required": [
7364 | "name",
7365 | "buyer"
7366 | ]
7367 | },
7368 | "NFD": {
7369 | "type": "object",
7370 | "properties": {
7371 | "appID": {
7372 | "type": "integer",
7373 | "description": "NFD Application ID",
7374 | "example": 1000000,
7375 | "format": "int64"
7376 | },
7377 | "asaID": {
7378 | "type": "integer",
7379 | "description": "NFD ASA ID",
7380 | "example": 1,
7381 | "format": "int64"
7382 | },
7383 | "avatarOutdated": {
7384 | "type": "boolean",
7385 | "description": "Whether the verified Avatar set in this NFD is newer (arc19) then is set into the NFD. This will only be present on direct NFD fetch and if true",
7386 | "example": false
7387 | },
7388 | "caAlgo": {
7389 | "type": "array",
7390 | "items": {
7391 | "type": "string",
7392 | "example": "333333333333333333333333333333333333333333333333333333333A",
7393 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7394 | },
7395 | "description": "Verified Algorand addresses for this NFD",
7396 | "example": [
7397 | "333333333333333333333333333333333333333333333333333333333A"
7398 | ]
7399 | },
7400 | "cache-control": {
7401 | "type": "string",
7402 | "description": "Cache-Control header",
7403 | "example": "abc123"
7404 | },
7405 | "category": {
7406 | "type": "string",
7407 | "example": "premium",
7408 | "enum": [
7409 | "curated",
7410 | "premium",
7411 | "common"
7412 | ]
7413 | },
7414 | "currentAsOfBlock": {
7415 | "type": "integer",
7416 | "description": "Round this data was last fetched from",
7417 | "example": 1,
7418 | "format": "int64"
7419 | },
7420 | "depositAccount": {
7421 | "type": "string",
7422 | "description": "account wallets should send funds to - precedence is: caAlgo[0], unverifiedCaAlgo[0], owner",
7423 | "example": "333333333333333333333333333333333333333333333333333333333A",
7424 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7425 | },
7426 | "etag": {
7427 | "type": "string",
7428 | "description": "ETag",
7429 | "example": "abc123"
7430 | },
7431 | "expired": {
7432 | "type": "boolean",
7433 | "example": false
7434 | },
7435 | "match-check": {
7436 | "type": "string",
7437 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
7438 | "example": "abc123"
7439 | },
7440 | "metaTags": {
7441 | "type": "array",
7442 | "items": {
7443 | "type": "string",
7444 | "example": "abc123"
7445 | },
7446 | "description": "Tags set by the system for tracking/analytics",
7447 | "example": [
7448 | "abc123"
7449 | ]
7450 | },
7451 | "name": {
7452 | "type": "string",
7453 | "example": "abc123"
7454 | },
7455 | "nfdAccount": {
7456 | "type": "string",
7457 | "example": "333333333333333333333333333333333333333333333333333333333A",
7458 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7459 | },
7460 | "owner": {
7461 | "type": "string",
7462 | "description": "Owner of NFD",
7463 | "example": "333333333333333333333333333333333333333333333333333333333A",
7464 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7465 | },
7466 | "parentAppID": {
7467 | "type": "integer",
7468 | "description": "NFD Application ID of Parent if this is a segment",
7469 | "example": 1000000,
7470 | "format": "int64"
7471 | },
7472 | "properties": {
7473 | "$ref": "#/components/schemas/NFDProperties"
7474 | },
7475 | "reservedFor": {
7476 | "type": "string",
7477 | "description": "Reserved owner of NFD",
7478 | "example": "333333333333333333333333333333333333333333333333333333333A",
7479 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7480 | },
7481 | "saleType": {
7482 | "type": "string",
7483 | "example": "buyItNow",
7484 | "enum": [
7485 | "auction",
7486 | "buyItNow"
7487 | ]
7488 | },
7489 | "sellAmount": {
7490 | "type": "integer",
7491 | "description": "amount NFD is being sold for (microAlgos)",
7492 | "example": 1,
7493 | "format": "int64"
7494 | },
7495 | "seller": {
7496 | "type": "string",
7497 | "description": "RecipientUid of NFD sales",
7498 | "example": "333333333333333333333333333333333333333333333333333333333A",
7499 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7500 | },
7501 | "sigNameAddress": {
7502 | "type": "string",
7503 | "example": "333333333333333333333333333333333333333333333333333333333A",
7504 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7505 | },
7506 | "state": {
7507 | "type": "string",
7508 | "example": "minting",
7509 | "enum": [
7510 | "available",
7511 | "minting",
7512 | "reserved",
7513 | "forSale",
7514 | "owned",
7515 | "expired"
7516 | ]
7517 | },
7518 | "tags": {
7519 | "type": "array",
7520 | "items": {
7521 | "type": "string",
7522 | "example": "abc123"
7523 | },
7524 | "description": "Tags assigned to this NFD",
7525 | "example": [
7526 | "abc123"
7527 | ]
7528 | },
7529 | "timeChanged": {
7530 | "type": "string",
7531 | "example": "1970-01-01T00:00:01Z",
7532 | "format": "date-time"
7533 | },
7534 | "timeCreated": {
7535 | "type": "string",
7536 | "example": "1970-01-01T00:00:01Z",
7537 | "format": "date-time"
7538 | },
7539 | "timeExpires": {
7540 | "type": "string",
7541 | "example": "1970-01-01T00:00:01Z",
7542 | "format": "date-time"
7543 | },
7544 | "timePurchased": {
7545 | "type": "string",
7546 | "example": "1970-01-01T00:00:01Z",
7547 | "format": "date-time"
7548 | },
7549 | "unverifiedCa": {
7550 | "type": "object",
7551 | "description": "Unverified (non-algo) Crypto addresses for this NFD",
7552 | "example": {
7553 | "btc": [
7554 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
7555 | ]
7556 | },
7557 | "additionalProperties": {
7558 | "type": "array",
7559 | "items": {
7560 | "type": "string",
7561 | "example": "abc123"
7562 | },
7563 | "example": [
7564 | "abc123"
7565 | ]
7566 | }
7567 | },
7568 | "unverifiedCaAlgo": {
7569 | "type": "array",
7570 | "items": {
7571 | "type": "string",
7572 | "example": "333333333333333333333333333333333333333333333333333333333A",
7573 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
7574 | },
7575 | "description": "Unverified Algorand addresses for this NFD",
7576 | "example": [
7577 | "333333333333333333333333333333333333333333333333333333333A"
7578 | ]
7579 | }
7580 | },
7581 | "description": "NFD contains all known information about an NFD record",
7582 | "example": {
7583 | "appID": 1000000,
7584 | "asaID": 1,
7585 | "avatarOutdated": false,
7586 | "caAlgo": [
7587 | "333333333333333333333333333333333333333333333333333333333A"
7588 | ],
7589 | "cache-control": "abc123",
7590 | "category": "premium",
7591 | "currentAsOfBlock": 1,
7592 | "depositAccount": "333333333333333333333333333333333333333333333333333333333A",
7593 | "etag": "abc123",
7594 | "expired": false,
7595 | "match-check": "abc123",
7596 | "metaTags": [
7597 | "abc123"
7598 | ],
7599 | "name": "abc123",
7600 | "nfdAccount": "333333333333333333333333333333333333333333333333333333333A",
7601 | "owner": "333333333333333333333333333333333333333333333333333333333A",
7602 | "parentAppID": 1000000,
7603 | "properties": {
7604 | "internal": {
7605 | "abc123": "abc123"
7606 | },
7607 | "userDefined": {
7608 | "ca:b": "abc123"
7609 | },
7610 | "verified": {
7611 | "caAlgo": "abc123"
7612 | }
7613 | },
7614 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
7615 | "saleType": "buyItNow",
7616 | "sellAmount": 1,
7617 | "seller": "333333333333333333333333333333333333333333333333333333333A",
7618 | "sigNameAddress": "333333333333333333333333333333333333333333333333333333333A",
7619 | "state": "minting",
7620 | "tags": [
7621 | "abc123"
7622 | ],
7623 | "timeChanged": "1970-01-01T00:00:01Z",
7624 | "timeCreated": "1970-01-01T00:00:01Z",
7625 | "timeExpires": "1970-01-01T00:00:01Z",
7626 | "timePurchased": "1970-01-01T00:00:01Z",
7627 | "unverifiedCa": {
7628 | "btc": [
7629 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
7630 | ]
7631 | },
7632 | "unverifiedCaAlgo": [
7633 | "333333333333333333333333333333333333333333333333333333333A"
7634 | ]
7635 | },
7636 | "required": [
7637 | "name"
7638 | ]
7639 | },
7640 | "NFDActivity": {
7641 | "type": "object",
7642 | "properties": {
7643 | "block": {
7644 | "type": "integer",
7645 | "description": "Algorand Block number of change",
7646 | "example": 1,
7647 | "format": "int64"
7648 | },
7649 | "cache-control": {
7650 | "type": "string",
7651 | "description": "Cache-Control header",
7652 | "example": "abc123"
7653 | },
7654 | "changes": {
7655 | "type": "object",
7656 | "description": "Changed properties",
7657 | "example": {
7658 | "abc123": "abc123"
7659 | },
7660 | "additionalProperties": {
7661 | "type": "string",
7662 | "example": "abc123"
7663 | }
7664 | },
7665 | "etag": {
7666 | "type": "string",
7667 | "description": "ETag",
7668 | "example": "abc123"
7669 | },
7670 | "match-check": {
7671 | "type": "string",
7672 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
7673 | "example": "abc123"
7674 | },
7675 | "name": {
7676 | "type": "string",
7677 | "description": "NFD Name",
7678 | "example": "abc123"
7679 | },
7680 | "timeChanged": {
7681 | "type": "string",
7682 | "example": "1970-01-01T00:00:01Z",
7683 | "format": "date-time"
7684 | }
7685 | },
7686 | "description": "NFDActivity contains the property changes made in a particular NFD contract update call",
7687 | "example": {
7688 | "block": 1,
7689 | "cache-control": "abc123",
7690 | "changes": {
7691 | "abc123": "abc123"
7692 | },
7693 | "etag": "abc123",
7694 | "match-check": "abc123",
7695 | "name": "abc123",
7696 | "timeChanged": "1970-01-01T00:00:01Z"
7697 | },
7698 | "required": [
7699 | "name",
7700 | "block",
7701 | "timeChanged"
7702 | ]
7703 | },
7704 | "NFDAnalyticEvent": {
7705 | "type": "object",
7706 | "properties": {
7707 | "block": {
7708 | "type": "integer",
7709 | "example": 1,
7710 | "format": "int64"
7711 | },
7712 | "buyer": {
7713 | "type": "string",
7714 | "example": "abc123"
7715 | },
7716 | "carryCost": {
7717 | "type": "integer",
7718 | "description": "extra amount paid to cover minimum balance requirements - add to price to determine total amount paid",
7719 | "example": 1,
7720 | "format": "int64"
7721 | },
7722 | "category": {
7723 | "type": "string",
7724 | "example": "premium",
7725 | "enum": [
7726 | "curated",
7727 | "premium",
7728 | "common"
7729 | ]
7730 | },
7731 | "currentOwner": {
7732 | "type": "string",
7733 | "description": "NFD current owner - if set via includeOwner property",
7734 | "example": "abc123"
7735 | },
7736 | "event": {
7737 | "type": "string",
7738 | "example": "renewed",
7739 | "enum": [
7740 | "minted",
7741 | "renewed",
7742 | "offeredForSale",
7743 | "canceledSale",
7744 | "escrowedOffer",
7745 | "sold",
7746 | "postedOffer"
7747 | ]
7748 | },
7749 | "groupID": {
7750 | "type": "string",
7751 | "example": "abc123"
7752 | },
7753 | "metaTags": {
7754 | "type": "array",
7755 | "items": {
7756 | "type": "string",
7757 | "example": "abc123"
7758 | },
7759 | "example": [
7760 | "abc123"
7761 | ]
7762 | },
7763 | "name": {
7764 | "type": "string",
7765 | "description": "NFD Name",
7766 | "example": "abc123"
7767 | },
7768 | "newExpTime": {
7769 | "type": "string",
7770 | "description": "new expiration time set from minting or renewing",
7771 | "example": "1970-01-01T00:00:01Z",
7772 | "format": "date-time"
7773 | },
7774 | "note": {
7775 | "type": "string",
7776 | "example": "abc123"
7777 | },
7778 | "oneYearRenewalPrice": {
7779 | "type": "integer",
7780 | "description": "price for one year mint/renew",
7781 | "example": 1,
7782 | "format": "int64"
7783 | },
7784 | "saleType": {
7785 | "type": "string",
7786 | "example": "buyItNow",
7787 | "enum": [
7788 | "auction",
7789 | "buyItNow"
7790 | ]
7791 | },
7792 | "seller": {
7793 | "type": "string",
7794 | "example": "abc123"
7795 | }
7796 | },
7797 | "description": "NFDAnalyticEvent contains a price history record for a point in time of an NFD",
7798 | "example": {
7799 | "block": 1,
7800 | "buyer": "abc123",
7801 | "carryCost": 1,
7802 | "category": "premium",
7803 | "currentOwner": "abc123",
7804 | "event": "renewed",
7805 | "groupID": "abc123",
7806 | "metaTags": [
7807 | "abc123"
7808 | ],
7809 | "name": "abc123",
7810 | "newExpTime": "1970-01-01T00:00:01Z",
7811 | "note": "abc123",
7812 | "oneYearRenewalPrice": 1,
7813 | "saleType": "buyItNow",
7814 | "seller": "abc123"
7815 | }
7816 | },
7817 | "NFDAnalyticRecord": {
7818 | "type": "object",
7819 | "properties": {
7820 | "data": {
7821 | "$ref": "#/components/schemas/NFDAnalyticEvent"
7822 | },
7823 | "price": {
7824 | "type": "integer",
7825 | "description": "price of event in microAlgos",
7826 | "example": 1,
7827 | "format": "int64"
7828 | },
7829 | "priceUsd": {
7830 | "type": "number",
7831 | "description": "price of event in USD",
7832 | "example": 1,
7833 | "format": "double"
7834 | },
7835 | "timestamp": {
7836 | "type": "string",
7837 | "example": "1970-01-01T00:00:01Z",
7838 | "format": "date-time"
7839 | }
7840 | },
7841 | "description": "NFDAnalyticRecord is an NFD Analytics record in a time-series collection, with timestamp, price, and event data for that point in time.",
7842 | "example": {
7843 | "data": {
7844 | "block": 1,
7845 | "buyer": "abc123",
7846 | "carryCost": 1,
7847 | "category": "premium",
7848 | "currentOwner": "abc123",
7849 | "event": "renewed",
7850 | "groupID": "abc123",
7851 | "metaTags": [
7852 | "abc123"
7853 | ],
7854 | "name": "abc123",
7855 | "newExpTime": "1970-01-01T00:00:01Z",
7856 | "note": "abc123",
7857 | "oneYearRenewalPrice": 1,
7858 | "saleType": "buyItNow",
7859 | "seller": "abc123"
7860 | },
7861 | "price": 1,
7862 | "priceUsd": 1,
7863 | "timestamp": "1970-01-01T00:00:01Z"
7864 | }
7865 | },
7866 | "NFDAnalyticRecords": {
7867 | "type": "object",
7868 | "properties": {
7869 | "match-check": {
7870 | "type": "string",
7871 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
7872 | "example": "abc123"
7873 | },
7874 | "results": {
7875 | "type": "array",
7876 | "items": {
7877 | "$ref": "#/components/schemas/NFDAnalyticRecord"
7878 | },
7879 | "example": [
7880 | {
7881 | "data": {
7882 | "block": 1,
7883 | "buyer": "abc123",
7884 | "carryCost": 1,
7885 | "category": "premium",
7886 | "currentOwner": "abc123",
7887 | "event": "renewed",
7888 | "groupID": "abc123",
7889 | "metaTags": [
7890 | "abc123"
7891 | ],
7892 | "name": "abc123",
7893 | "newExpTime": "1970-01-01T00:00:01Z",
7894 | "note": "abc123",
7895 | "oneYearRenewalPrice": 1,
7896 | "saleType": "buyItNow",
7897 | "seller": "abc123"
7898 | },
7899 | "price": 1,
7900 | "priceUsd": 1,
7901 | "timestamp": "1970-01-01T00:00:01Z"
7902 | }
7903 | ]
7904 | },
7905 | "total": {
7906 | "type": "integer",
7907 | "description": "total number of results, with data containing paged amount based on offset/limit",
7908 | "example": 1,
7909 | "format": "int64"
7910 | }
7911 | },
7912 | "example": {
7913 | "match-check": "abc123",
7914 | "results": [
7915 | {
7916 | "data": {
7917 | "block": 1,
7918 | "buyer": "abc123",
7919 | "carryCost": 1,
7920 | "category": "premium",
7921 | "currentOwner": "abc123",
7922 | "event": "renewed",
7923 | "groupID": "abc123",
7924 | "metaTags": [
7925 | "abc123"
7926 | ],
7927 | "name": "abc123",
7928 | "newExpTime": "1970-01-01T00:00:01Z",
7929 | "note": "abc123",
7930 | "oneYearRenewalPrice": 1,
7931 | "saleType": "buyItNow",
7932 | "seller": "abc123"
7933 | },
7934 | "price": 1,
7935 | "priceUsd": 1,
7936 | "timestamp": "1970-01-01T00:00:01Z"
7937 | }
7938 | ],
7939 | "total": 1
7940 | },
7941 | "required": [
7942 | "total",
7943 | "results"
7944 | ]
7945 | },
7946 | "NFDProperties": {
7947 | "type": "object",
7948 | "properties": {
7949 | "internal": {
7950 | "type": "object",
7951 | "description": "Internal properties",
7952 | "example": {
7953 | "abc123": "abc123"
7954 | },
7955 | "additionalProperties": {
7956 | "type": "string",
7957 | "example": "abc123"
7958 | }
7959 | },
7960 | "userDefined": {
7961 | "type": "object",
7962 | "description": "User properties",
7963 | "example": {
7964 | "ca:b": "abc123"
7965 | },
7966 | "additionalProperties": {
7967 | "type": "string",
7968 | "example": "abc123"
7969 | }
7970 | },
7971 | "verified": {
7972 | "type": "object",
7973 | "description": "Verified properties",
7974 | "example": {
7975 | "caAlgo": "abc123"
7976 | },
7977 | "additionalProperties": {
7978 | "type": "string",
7979 | "example": "abc123"
7980 | }
7981 | }
7982 | },
7983 | "description": "NFDProperties contains the expanded metadata stored within an NFD contracts' global-state",
7984 | "example": {
7985 | "internal": {
7986 | "abc123": "abc123"
7987 | },
7988 | "userDefined": {
7989 | "ca:b": "abc123"
7990 | },
7991 | "verified": {
7992 | "caAlgo": "abc123"
7993 | }
7994 | }
7995 | },
7996 | "NfdRecord": {
7997 | "type": "object",
7998 | "properties": {
7999 | "appID": {
8000 | "type": "integer",
8001 | "description": "NFD Application ID",
8002 | "example": 1000000,
8003 | "format": "int64"
8004 | },
8005 | "asaID": {
8006 | "type": "integer",
8007 | "description": "NFD ASA ID",
8008 | "example": 1,
8009 | "format": "int64"
8010 | },
8011 | "avatarOutdated": {
8012 | "type": "boolean",
8013 | "description": "Whether the verified Avatar set in this NFD is newer (arc19) then is set into the NFD. This will only be present on direct NFD fetch and if true",
8014 | "example": false
8015 | },
8016 | "caAlgo": {
8017 | "type": "array",
8018 | "items": {
8019 | "type": "string",
8020 | "example": "333333333333333333333333333333333333333333333333333333333A",
8021 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8022 | },
8023 | "description": "Verified Algorand addresses for this NFD",
8024 | "example": [
8025 | "333333333333333333333333333333333333333333333333333333333A"
8026 | ]
8027 | },
8028 | "category": {
8029 | "type": "string",
8030 | "example": "premium",
8031 | "enum": [
8032 | "curated",
8033 | "premium",
8034 | "common"
8035 | ]
8036 | },
8037 | "currentAsOfBlock": {
8038 | "type": "integer",
8039 | "description": "Round this data was last fetched from",
8040 | "example": 1,
8041 | "format": "int64"
8042 | },
8043 | "depositAccount": {
8044 | "type": "string",
8045 | "description": "account wallets should send funds to - precedence is: caAlgo[0], unverifiedCaAlgo[0], owner",
8046 | "example": "333333333333333333333333333333333333333333333333333333333A",
8047 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8048 | },
8049 | "expired": {
8050 | "type": "boolean",
8051 | "example": false
8052 | },
8053 | "match-check": {
8054 | "type": "string",
8055 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
8056 | "example": "abc123"
8057 | },
8058 | "metaTags": {
8059 | "type": "array",
8060 | "items": {
8061 | "type": "string",
8062 | "example": "abc123"
8063 | },
8064 | "description": "Tags set by the system for tracking/analytics",
8065 | "example": [
8066 | "abc123"
8067 | ]
8068 | },
8069 | "name": {
8070 | "type": "string",
8071 | "example": "abc123"
8072 | },
8073 | "nfdAccount": {
8074 | "type": "string",
8075 | "example": "333333333333333333333333333333333333333333333333333333333A",
8076 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8077 | },
8078 | "owner": {
8079 | "type": "string",
8080 | "description": "Owner of NFD",
8081 | "example": "333333333333333333333333333333333333333333333333333333333A",
8082 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8083 | },
8084 | "parentAppID": {
8085 | "type": "integer",
8086 | "description": "NFD Application ID of Parent if this is a segment",
8087 | "example": 1000000,
8088 | "format": "int64"
8089 | },
8090 | "properties": {
8091 | "$ref": "#/components/schemas/NFDProperties"
8092 | },
8093 | "reservedFor": {
8094 | "type": "string",
8095 | "description": "Reserved owner of NFD",
8096 | "example": "333333333333333333333333333333333333333333333333333333333A",
8097 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8098 | },
8099 | "saleType": {
8100 | "type": "string",
8101 | "example": "buyItNow",
8102 | "enum": [
8103 | "auction",
8104 | "buyItNow"
8105 | ]
8106 | },
8107 | "sellAmount": {
8108 | "type": "integer",
8109 | "description": "amount NFD is being sold for (microAlgos)",
8110 | "example": 1,
8111 | "format": "int64"
8112 | },
8113 | "seller": {
8114 | "type": "string",
8115 | "description": "RecipientUid of NFD sales",
8116 | "example": "333333333333333333333333333333333333333333333333333333333A",
8117 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8118 | },
8119 | "sigNameAddress": {
8120 | "type": "string",
8121 | "example": "333333333333333333333333333333333333333333333333333333333A",
8122 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8123 | },
8124 | "state": {
8125 | "type": "string",
8126 | "example": "minting",
8127 | "enum": [
8128 | "available",
8129 | "minting",
8130 | "reserved",
8131 | "forSale",
8132 | "owned",
8133 | "expired"
8134 | ]
8135 | },
8136 | "tags": {
8137 | "type": "array",
8138 | "items": {
8139 | "type": "string",
8140 | "example": "abc123"
8141 | },
8142 | "description": "Tags assigned to this NFD",
8143 | "example": [
8144 | "abc123"
8145 | ]
8146 | },
8147 | "timeChanged": {
8148 | "type": "string",
8149 | "example": "1970-01-01T00:00:01Z",
8150 | "format": "date-time"
8151 | },
8152 | "timeCreated": {
8153 | "type": "string",
8154 | "example": "1970-01-01T00:00:01Z",
8155 | "format": "date-time"
8156 | },
8157 | "timeExpires": {
8158 | "type": "string",
8159 | "example": "1970-01-01T00:00:01Z",
8160 | "format": "date-time"
8161 | },
8162 | "timePurchased": {
8163 | "type": "string",
8164 | "example": "1970-01-01T00:00:01Z",
8165 | "format": "date-time"
8166 | },
8167 | "unverifiedCa": {
8168 | "type": "object",
8169 | "description": "Unverified (non-algo) Crypto addresses for this NFD",
8170 | "example": {
8171 | "btc": [
8172 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8173 | ]
8174 | },
8175 | "additionalProperties": {
8176 | "type": "array",
8177 | "items": {
8178 | "type": "string",
8179 | "example": "abc123"
8180 | },
8181 | "example": [
8182 | "abc123"
8183 | ]
8184 | }
8185 | },
8186 | "unverifiedCaAlgo": {
8187 | "type": "array",
8188 | "items": {
8189 | "type": "string",
8190 | "example": "333333333333333333333333333333333333333333333333333333333A",
8191 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8192 | },
8193 | "description": "Unverified Algorand addresses for this NFD",
8194 | "example": [
8195 | "333333333333333333333333333333333333333333333333333333333A"
8196 | ]
8197 | }
8198 | },
8199 | "example": {
8200 | "appID": 1000000,
8201 | "asaID": 1,
8202 | "avatarOutdated": false,
8203 | "caAlgo": [
8204 | "333333333333333333333333333333333333333333333333333333333A"
8205 | ],
8206 | "category": "premium",
8207 | "currentAsOfBlock": 1,
8208 | "depositAccount": "333333333333333333333333333333333333333333333333333333333A",
8209 | "expired": false,
8210 | "match-check": "abc123",
8211 | "metaTags": [
8212 | "abc123"
8213 | ],
8214 | "name": "abc123",
8215 | "nfdAccount": "333333333333333333333333333333333333333333333333333333333A",
8216 | "owner": "333333333333333333333333333333333333333333333333333333333A",
8217 | "parentAppID": 1000000,
8218 | "properties": {
8219 | "internal": {
8220 | "abc123": "abc123"
8221 | },
8222 | "userDefined": {
8223 | "ca:b": "abc123"
8224 | },
8225 | "verified": {
8226 | "caAlgo": "abc123"
8227 | }
8228 | },
8229 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
8230 | "saleType": "buyItNow",
8231 | "sellAmount": 1,
8232 | "seller": "333333333333333333333333333333333333333333333333333333333A",
8233 | "sigNameAddress": "333333333333333333333333333333333333333333333333333333333A",
8234 | "state": "minting",
8235 | "tags": [
8236 | "abc123"
8237 | ],
8238 | "timeChanged": "1970-01-01T00:00:01Z",
8239 | "timeCreated": "1970-01-01T00:00:01Z",
8240 | "timeExpires": "1970-01-01T00:00:01Z",
8241 | "timePurchased": "1970-01-01T00:00:01Z",
8242 | "unverifiedCa": {
8243 | "btc": [
8244 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8245 | ]
8246 | },
8247 | "unverifiedCaAlgo": [
8248 | "333333333333333333333333333333333333333333333333333333333A"
8249 | ]
8250 | },
8251 | "required": [
8252 | "name"
8253 | ]
8254 | },
8255 | "NfdRecordCollection": {
8256 | "type": "array",
8257 | "items": {
8258 | "$ref": "#/components/schemas/NfdRecord"
8259 | },
8260 | "example": [
8261 | {
8262 | "appID": 1000000,
8263 | "asaID": 1,
8264 | "avatarOutdated": false,
8265 | "caAlgo": [
8266 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
8267 | ],
8268 | "cache-control": "abc123",
8269 | "category": "abc123",
8270 | "currentAsOfBlock": 1,
8271 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8272 | "etag": "abc123",
8273 | "expired": false,
8274 | "match-check": "abc123",
8275 | "metaTags": [
8276 | "abc123"
8277 | ],
8278 | "name": "abc123",
8279 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8280 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8281 | "parentAppID": 1000000,
8282 | "properties": {
8283 | "internal": {
8284 | "abc123": "abc123"
8285 | },
8286 | "userDefined": {
8287 | "ca:b": "abc123"
8288 | },
8289 | "verified": {
8290 | "caAlgo": "abc123"
8291 | }
8292 | },
8293 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8294 | "saleType": "abc123",
8295 | "sellAmount": 1,
8296 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8297 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8298 | "state": "abc123",
8299 | "tags": [
8300 | "abc123"
8301 | ],
8302 | "timeChanged": "1970-01-01T00:00:01Z",
8303 | "timeCreated": "1970-01-01T00:00:01Z",
8304 | "timeExpires": "1970-01-01T00:00:01Z",
8305 | "timePurchased": "1970-01-01T00:00:01Z",
8306 | "unverifiedCa": {
8307 | "btc": [
8308 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8309 | ]
8310 | },
8311 | "unverifiedCaAlgo": [
8312 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
8313 | ]
8314 | }
8315 | ]
8316 | },
8317 | "NfdRecordResponseFull": {
8318 | "type": "object",
8319 | "properties": {
8320 | "appID": {
8321 | "type": "integer",
8322 | "description": "NFD Application ID",
8323 | "example": 1000000,
8324 | "format": "int64"
8325 | },
8326 | "asaID": {
8327 | "type": "integer",
8328 | "description": "NFD ASA ID",
8329 | "example": 1,
8330 | "format": "int64"
8331 | },
8332 | "avatarOutdated": {
8333 | "type": "boolean",
8334 | "description": "Whether the verified Avatar set in this NFD is newer (arc19) then is set into the NFD. This will only be present on direct NFD fetch and if true",
8335 | "example": false
8336 | },
8337 | "caAlgo": {
8338 | "type": "array",
8339 | "items": {
8340 | "type": "string",
8341 | "example": "333333333333333333333333333333333333333333333333333333333A",
8342 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8343 | },
8344 | "description": "Verified Algorand addresses for this NFD",
8345 | "example": [
8346 | "333333333333333333333333333333333333333333333333333333333A"
8347 | ]
8348 | },
8349 | "cache-control": {
8350 | "type": "string",
8351 | "description": "Cache-Control header",
8352 | "example": "abc123"
8353 | },
8354 | "category": {
8355 | "type": "string",
8356 | "example": "premium",
8357 | "enum": [
8358 | "curated",
8359 | "premium",
8360 | "common"
8361 | ]
8362 | },
8363 | "currentAsOfBlock": {
8364 | "type": "integer",
8365 | "description": "Round this data was last fetched from",
8366 | "example": 1,
8367 | "format": "int64"
8368 | },
8369 | "depositAccount": {
8370 | "type": "string",
8371 | "description": "account wallets should send funds to - precedence is: caAlgo[0], unverifiedCaAlgo[0], owner",
8372 | "example": "333333333333333333333333333333333333333333333333333333333A",
8373 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8374 | },
8375 | "etag": {
8376 | "type": "string",
8377 | "description": "ETag",
8378 | "example": "abc123"
8379 | },
8380 | "expired": {
8381 | "type": "boolean",
8382 | "example": false
8383 | },
8384 | "match-check": {
8385 | "type": "string",
8386 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
8387 | "example": "abc123"
8388 | },
8389 | "metaTags": {
8390 | "type": "array",
8391 | "items": {
8392 | "type": "string",
8393 | "example": "abc123"
8394 | },
8395 | "description": "Tags set by the system for tracking/analytics",
8396 | "example": [
8397 | "abc123"
8398 | ]
8399 | },
8400 | "name": {
8401 | "type": "string",
8402 | "example": "abc123"
8403 | },
8404 | "nfdAccount": {
8405 | "type": "string",
8406 | "example": "333333333333333333333333333333333333333333333333333333333A",
8407 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8408 | },
8409 | "owner": {
8410 | "type": "string",
8411 | "description": "Owner of NFD",
8412 | "example": "333333333333333333333333333333333333333333333333333333333A",
8413 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8414 | },
8415 | "parentAppID": {
8416 | "type": "integer",
8417 | "description": "NFD Application ID of Parent if this is a segment",
8418 | "example": 1000000,
8419 | "format": "int64"
8420 | },
8421 | "properties": {
8422 | "$ref": "#/components/schemas/NFDProperties"
8423 | },
8424 | "reservedFor": {
8425 | "type": "string",
8426 | "description": "Reserved owner of NFD",
8427 | "example": "333333333333333333333333333333333333333333333333333333333A",
8428 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8429 | },
8430 | "saleType": {
8431 | "type": "string",
8432 | "example": "buyItNow",
8433 | "enum": [
8434 | "auction",
8435 | "buyItNow"
8436 | ]
8437 | },
8438 | "sellAmount": {
8439 | "type": "integer",
8440 | "description": "amount NFD is being sold for (microAlgos)",
8441 | "example": 1,
8442 | "format": "int64"
8443 | },
8444 | "seller": {
8445 | "type": "string",
8446 | "description": "RecipientUid of NFD sales",
8447 | "example": "333333333333333333333333333333333333333333333333333333333A",
8448 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8449 | },
8450 | "sigNameAddress": {
8451 | "type": "string",
8452 | "example": "333333333333333333333333333333333333333333333333333333333A",
8453 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8454 | },
8455 | "state": {
8456 | "type": "string",
8457 | "example": "minting",
8458 | "enum": [
8459 | "available",
8460 | "minting",
8461 | "reserved",
8462 | "forSale",
8463 | "owned",
8464 | "expired"
8465 | ]
8466 | },
8467 | "tags": {
8468 | "type": "array",
8469 | "items": {
8470 | "type": "string",
8471 | "example": "abc123"
8472 | },
8473 | "description": "Tags assigned to this NFD",
8474 | "example": [
8475 | "abc123"
8476 | ]
8477 | },
8478 | "timeChanged": {
8479 | "type": "string",
8480 | "example": "1970-01-01T00:00:01Z",
8481 | "format": "date-time"
8482 | },
8483 | "timeCreated": {
8484 | "type": "string",
8485 | "example": "1970-01-01T00:00:01Z",
8486 | "format": "date-time"
8487 | },
8488 | "timeExpires": {
8489 | "type": "string",
8490 | "example": "1970-01-01T00:00:01Z",
8491 | "format": "date-time"
8492 | },
8493 | "timePurchased": {
8494 | "type": "string",
8495 | "example": "1970-01-01T00:00:01Z",
8496 | "format": "date-time"
8497 | },
8498 | "unverifiedCa": {
8499 | "type": "object",
8500 | "description": "Unverified (non-algo) Crypto addresses for this NFD",
8501 | "example": {
8502 | "btc": [
8503 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8504 | ]
8505 | },
8506 | "additionalProperties": {
8507 | "type": "array",
8508 | "items": {
8509 | "type": "string",
8510 | "example": "abc123"
8511 | },
8512 | "example": [
8513 | "abc123"
8514 | ]
8515 | }
8516 | },
8517 | "unverifiedCaAlgo": {
8518 | "type": "array",
8519 | "items": {
8520 | "type": "string",
8521 | "example": "333333333333333333333333333333333333333333333333333333333A",
8522 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8523 | },
8524 | "description": "Unverified Algorand addresses for this NFD",
8525 | "example": [
8526 | "333333333333333333333333333333333333333333333333333333333A"
8527 | ]
8528 | }
8529 | },
8530 | "description": "NFD contains all known information about an NFD record (full view)",
8531 | "example": {
8532 | "appID": 1000000,
8533 | "asaID": 1,
8534 | "avatarOutdated": false,
8535 | "caAlgo": [
8536 | "333333333333333333333333333333333333333333333333333333333A"
8537 | ],
8538 | "cache-control": "abc123",
8539 | "category": "premium",
8540 | "currentAsOfBlock": 1,
8541 | "depositAccount": "333333333333333333333333333333333333333333333333333333333A",
8542 | "etag": "abc123",
8543 | "expired": false,
8544 | "match-check": "abc123",
8545 | "metaTags": [
8546 | "abc123"
8547 | ],
8548 | "name": "abc123",
8549 | "nfdAccount": "333333333333333333333333333333333333333333333333333333333A",
8550 | "owner": "333333333333333333333333333333333333333333333333333333333A",
8551 | "parentAppID": 1000000,
8552 | "properties": {
8553 | "internal": {
8554 | "abc123": "abc123"
8555 | },
8556 | "userDefined": {
8557 | "ca:b": "abc123"
8558 | },
8559 | "verified": {
8560 | "caAlgo": "abc123"
8561 | }
8562 | },
8563 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
8564 | "saleType": "buyItNow",
8565 | "sellAmount": 1,
8566 | "seller": "333333333333333333333333333333333333333333333333333333333A",
8567 | "sigNameAddress": "333333333333333333333333333333333333333333333333333333333A",
8568 | "state": "minting",
8569 | "tags": [
8570 | "abc123"
8571 | ],
8572 | "timeChanged": "1970-01-01T00:00:01Z",
8573 | "timeCreated": "1970-01-01T00:00:01Z",
8574 | "timeExpires": "1970-01-01T00:00:01Z",
8575 | "timePurchased": "1970-01-01T00:00:01Z",
8576 | "unverifiedCa": {
8577 | "btc": [
8578 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8579 | ]
8580 | },
8581 | "unverifiedCaAlgo": [
8582 | "333333333333333333333333333333333333333333333333333333333A"
8583 | ]
8584 | },
8585 | "required": [
8586 | "name"
8587 | ]
8588 | },
8589 | "NfdRecordResponseFullCollection": {
8590 | "type": "array",
8591 | "items": {
8592 | "$ref": "#/components/schemas/NfdRecordResponseFull"
8593 | },
8594 | "description": "DonationListV2ResponseBody is the result type for an array of NfdRecordResponse (full view)",
8595 | "example": [
8596 | {
8597 | "appID": 1000000,
8598 | "asaID": 1,
8599 | "avatarOutdated": false,
8600 | "caAlgo": [
8601 | "333333333333333333333333333333333333333333333333333333333A"
8602 | ],
8603 | "category": "premium",
8604 | "currentAsOfBlock": 1,
8605 | "depositAccount": "333333333333333333333333333333333333333333333333333333333A",
8606 | "expired": false,
8607 | "match-check": "abc123",
8608 | "metaTags": [
8609 | "abc123"
8610 | ],
8611 | "name": "abc123",
8612 | "nfdAccount": "333333333333333333333333333333333333333333333333333333333A",
8613 | "owner": "333333333333333333333333333333333333333333333333333333333A",
8614 | "parentAppID": 1000000,
8615 | "properties": {
8616 | "internal": {
8617 | "abc123": "abc123"
8618 | },
8619 | "userDefined": {
8620 | "ca:b": "abc123"
8621 | },
8622 | "verified": {
8623 | "caAlgo": "abc123"
8624 | }
8625 | },
8626 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
8627 | "saleType": "buyItNow",
8628 | "sellAmount": 1,
8629 | "seller": "333333333333333333333333333333333333333333333333333333333A",
8630 | "sigNameAddress": "333333333333333333333333333333333333333333333333333333333A",
8631 | "state": "minting",
8632 | "tags": [
8633 | "abc123"
8634 | ],
8635 | "timeChanged": "1970-01-01T00:00:01Z",
8636 | "timeCreated": "1970-01-01T00:00:01Z",
8637 | "timeExpires": "1970-01-01T00:00:01Z",
8638 | "timePurchased": "1970-01-01T00:00:01Z",
8639 | "unverifiedCa": {
8640 | "btc": [
8641 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8642 | ]
8643 | },
8644 | "unverifiedCaAlgo": [
8645 | "333333333333333333333333333333333333333333333333333333333A"
8646 | ]
8647 | }
8648 | ]
8649 | },
8650 | "NfdRecordinaddress": {
8651 | "type": "object",
8652 | "properties": {
8653 | "appID": {
8654 | "type": "integer",
8655 | "description": "NFD Application ID",
8656 | "example": 1000000,
8657 | "format": "int64"
8658 | },
8659 | "asaID": {
8660 | "type": "integer",
8661 | "description": "NFD ASA ID",
8662 | "example": 1,
8663 | "format": "int64"
8664 | },
8665 | "avatarOutdated": {
8666 | "type": "boolean",
8667 | "description": "Whether the verified Avatar set in this NFD is newer (arc19) then is set into the NFD. This will only be present on direct NFD fetch and if true",
8668 | "example": false
8669 | },
8670 | "caAlgo": {
8671 | "type": "array",
8672 | "items": {
8673 | "type": "string",
8674 | "example": "333333333333333333333333333333333333333333333333333333333A",
8675 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8676 | },
8677 | "description": "Verified Algorand addresses for this NFD",
8678 | "example": [
8679 | "333333333333333333333333333333333333333333333333333333333A"
8680 | ]
8681 | },
8682 | "cache-control": {
8683 | "type": "string",
8684 | "description": "Cache-Control header",
8685 | "example": "abc123"
8686 | },
8687 | "category": {
8688 | "type": "string",
8689 | "example": "premium",
8690 | "enum": [
8691 | "curated",
8692 | "premium",
8693 | "common"
8694 | ]
8695 | },
8696 | "currentAsOfBlock": {
8697 | "type": "integer",
8698 | "description": "Round this data was last fetched from",
8699 | "example": 1,
8700 | "format": "int64"
8701 | },
8702 | "depositAccount": {
8703 | "type": "string",
8704 | "description": "account wallets should send funds to - precedence is: caAlgo[0], unverifiedCaAlgo[0], owner",
8705 | "example": "333333333333333333333333333333333333333333333333333333333A",
8706 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8707 | },
8708 | "etag": {
8709 | "type": "string",
8710 | "description": "ETag",
8711 | "example": "abc123"
8712 | },
8713 | "expired": {
8714 | "type": "boolean",
8715 | "example": false
8716 | },
8717 | "match-check": {
8718 | "type": "string",
8719 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
8720 | "example": "abc123"
8721 | },
8722 | "metaTags": {
8723 | "type": "array",
8724 | "items": {
8725 | "type": "string",
8726 | "example": "abc123"
8727 | },
8728 | "description": "Tags set by the system for tracking/analytics",
8729 | "example": [
8730 | "abc123"
8731 | ]
8732 | },
8733 | "name": {
8734 | "type": "string",
8735 | "example": "abc123"
8736 | },
8737 | "nfdAccount": {
8738 | "type": "string",
8739 | "example": "333333333333333333333333333333333333333333333333333333333A",
8740 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8741 | },
8742 | "owner": {
8743 | "type": "string",
8744 | "description": "Owner of NFD",
8745 | "example": "333333333333333333333333333333333333333333333333333333333A",
8746 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8747 | },
8748 | "parentAppID": {
8749 | "type": "integer",
8750 | "description": "NFD Application ID of Parent if this is a segment",
8751 | "example": 1000000,
8752 | "format": "int64"
8753 | },
8754 | "properties": {
8755 | "$ref": "#/components/schemas/NFDProperties"
8756 | },
8757 | "reservedFor": {
8758 | "type": "string",
8759 | "description": "Reserved owner of NFD",
8760 | "example": "333333333333333333333333333333333333333333333333333333333A",
8761 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8762 | },
8763 | "saleType": {
8764 | "type": "string",
8765 | "example": "buyItNow",
8766 | "enum": [
8767 | "auction",
8768 | "buyItNow"
8769 | ]
8770 | },
8771 | "sellAmount": {
8772 | "type": "integer",
8773 | "description": "amount NFD is being sold for (microAlgos)",
8774 | "example": 1,
8775 | "format": "int64"
8776 | },
8777 | "seller": {
8778 | "type": "string",
8779 | "description": "RecipientUid of NFD sales",
8780 | "example": "333333333333333333333333333333333333333333333333333333333A",
8781 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8782 | },
8783 | "sigNameAddress": {
8784 | "type": "string",
8785 | "example": "333333333333333333333333333333333333333333333333333333333A",
8786 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8787 | },
8788 | "state": {
8789 | "type": "string",
8790 | "example": "minting",
8791 | "enum": [
8792 | "available",
8793 | "minting",
8794 | "reserved",
8795 | "forSale",
8796 | "owned",
8797 | "expired"
8798 | ]
8799 | },
8800 | "tags": {
8801 | "type": "array",
8802 | "items": {
8803 | "type": "string",
8804 | "example": "abc123"
8805 | },
8806 | "description": "Tags assigned to this NFD",
8807 | "example": [
8808 | "abc123"
8809 | ]
8810 | },
8811 | "timeChanged": {
8812 | "type": "string",
8813 | "example": "1970-01-01T00:00:01Z",
8814 | "format": "date-time"
8815 | },
8816 | "timeCreated": {
8817 | "type": "string",
8818 | "example": "1970-01-01T00:00:01Z",
8819 | "format": "date-time"
8820 | },
8821 | "timeExpires": {
8822 | "type": "string",
8823 | "example": "1970-01-01T00:00:01Z",
8824 | "format": "date-time"
8825 | },
8826 | "timePurchased": {
8827 | "type": "string",
8828 | "example": "1970-01-01T00:00:01Z",
8829 | "format": "date-time"
8830 | },
8831 | "unverifiedCa": {
8832 | "type": "object",
8833 | "description": "Unverified (non-algo) Crypto addresses for this NFD",
8834 | "example": {
8835 | "btc": [
8836 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8837 | ]
8838 | },
8839 | "additionalProperties": {
8840 | "type": "array",
8841 | "items": {
8842 | "type": "string",
8843 | "example": "abc123"
8844 | },
8845 | "example": [
8846 | "abc123"
8847 | ]
8848 | }
8849 | },
8850 | "unverifiedCaAlgo": {
8851 | "type": "array",
8852 | "items": {
8853 | "type": "string",
8854 | "example": "333333333333333333333333333333333333333333333333333333333A",
8855 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
8856 | },
8857 | "description": "Unverified Algorand addresses for this NFD",
8858 | "example": [
8859 | "333333333333333333333333333333333333333333333333333333333A"
8860 | ]
8861 | }
8862 | },
8863 | "description": "NFD contains all known information about an NFD record",
8864 | "example": {
8865 | "appID": 1000000,
8866 | "asaID": 1,
8867 | "avatarOutdated": false,
8868 | "caAlgo": [
8869 | "333333333333333333333333333333333333333333333333333333333A"
8870 | ],
8871 | "cache-control": "abc123",
8872 | "category": "premium",
8873 | "currentAsOfBlock": 1,
8874 | "depositAccount": "333333333333333333333333333333333333333333333333333333333A",
8875 | "etag": "abc123",
8876 | "expired": false,
8877 | "match-check": "abc123",
8878 | "metaTags": [
8879 | "abc123"
8880 | ],
8881 | "name": "abc123",
8882 | "nfdAccount": "333333333333333333333333333333333333333333333333333333333A",
8883 | "owner": "333333333333333333333333333333333333333333333333333333333A",
8884 | "parentAppID": 1000000,
8885 | "properties": {
8886 | "internal": {
8887 | "abc123": "abc123"
8888 | },
8889 | "userDefined": {
8890 | "ca:b": "abc123"
8891 | },
8892 | "verified": {
8893 | "caAlgo": "abc123"
8894 | }
8895 | },
8896 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
8897 | "saleType": "buyItNow",
8898 | "sellAmount": 1,
8899 | "seller": "333333333333333333333333333333333333333333333333333333333A",
8900 | "sigNameAddress": "333333333333333333333333333333333333333333333333333333333A",
8901 | "state": "minting",
8902 | "tags": [
8903 | "abc123"
8904 | ],
8905 | "timeChanged": "1970-01-01T00:00:01Z",
8906 | "timeCreated": "1970-01-01T00:00:01Z",
8907 | "timeExpires": "1970-01-01T00:00:01Z",
8908 | "timePurchased": "1970-01-01T00:00:01Z",
8909 | "unverifiedCa": {
8910 | "btc": [
8911 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8912 | ]
8913 | },
8914 | "unverifiedCaAlgo": [
8915 | "333333333333333333333333333333333333333333333333333333333A"
8916 | ]
8917 | },
8918 | "required": [
8919 | "name"
8920 | ]
8921 | },
8922 | "NfdRecordinaddressCollection": {
8923 | "type": "array",
8924 | "items": {
8925 | "$ref": "#/components/schemas/NfdRecordinaddress"
8926 | },
8927 | "example": [
8928 | {
8929 | "appID": 1000000,
8930 | "asaID": 1,
8931 | "avatarOutdated": false,
8932 | "caAlgo": [
8933 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
8934 | ],
8935 | "cache-control": "abc123",
8936 | "category": "abc123",
8937 | "currentAsOfBlock": 1,
8938 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8939 | "etag": "abc123",
8940 | "expired": false,
8941 | "match-check": "abc123",
8942 | "metaTags": [
8943 | "abc123"
8944 | ],
8945 | "name": "abc123",
8946 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8947 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8948 | "parentAppID": 1000000,
8949 | "properties": {
8950 | "internal": {
8951 | "abc123": "abc123"
8952 | },
8953 | "userDefined": {
8954 | "ca:b": "abc123"
8955 | },
8956 | "verified": {
8957 | "caAlgo": "abc123"
8958 | }
8959 | },
8960 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8961 | "saleType": "abc123",
8962 | "sellAmount": 1,
8963 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8964 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
8965 | "state": "abc123",
8966 | "tags": [
8967 | "abc123"
8968 | ],
8969 | "timeChanged": "1970-01-01T00:00:01Z",
8970 | "timeCreated": "1970-01-01T00:00:01Z",
8971 | "timeExpires": "1970-01-01T00:00:01Z",
8972 | "timePurchased": "1970-01-01T00:00:01Z",
8973 | "unverifiedCa": {
8974 | "btc": [
8975 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
8976 | ]
8977 | },
8978 | "unverifiedCaAlgo": [
8979 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
8980 | ]
8981 | }
8982 | ]
8983 | },
8984 | "NfdV2SearchRecords": {
8985 | "type": "object",
8986 | "properties": {
8987 | "match-check": {
8988 | "type": "string",
8989 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
8990 | "example": "abc123"
8991 | },
8992 | "nfds": {
8993 | "$ref": "#/components/schemas/NfdRecordCollection"
8994 | },
8995 | "total": {
8996 | "type": "integer",
8997 | "description": "total number of results, with data containing paged amount based on offset/limit",
8998 | "example": 1,
8999 | "format": "int64"
9000 | }
9001 | },
9002 | "example": {
9003 | "match-check": "abc123",
9004 | "nfds": [
9005 | {
9006 | "appID": 1000000,
9007 | "asaID": 1,
9008 | "avatarOutdated": false,
9009 | "caAlgo": [
9010 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
9011 | ],
9012 | "cache-control": "abc123",
9013 | "category": "abc123",
9014 | "currentAsOfBlock": 1,
9015 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9016 | "etag": "abc123",
9017 | "expired": false,
9018 | "match-check": "abc123",
9019 | "metaTags": [
9020 | "abc123"
9021 | ],
9022 | "name": "abc123",
9023 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9024 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9025 | "parentAppID": 1000000,
9026 | "properties": {
9027 | "internal": {
9028 | "abc123": "abc123"
9029 | },
9030 | "userDefined": {
9031 | "ca:b": "abc123"
9032 | },
9033 | "verified": {
9034 | "caAlgo": "abc123"
9035 | }
9036 | },
9037 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9038 | "saleType": "abc123",
9039 | "sellAmount": 1,
9040 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9041 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9042 | "state": "abc123",
9043 | "tags": [
9044 | "abc123"
9045 | ],
9046 | "timeChanged": "1970-01-01T00:00:01Z",
9047 | "timeCreated": "1970-01-01T00:00:01Z",
9048 | "timeExpires": "1970-01-01T00:00:01Z",
9049 | "timePurchased": "1970-01-01T00:00:01Z",
9050 | "unverifiedCa": {
9051 | "btc": [
9052 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
9053 | ]
9054 | },
9055 | "unverifiedCaAlgo": [
9056 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
9057 | ]
9058 | }
9059 | ],
9060 | "total": 1
9061 | },
9062 | "required": [
9063 | "total",
9064 | "nfds"
9065 | ]
9066 | },
9067 | "OfferRequestBody": {
9068 | "type": "object",
9069 | "properties": {
9070 | "offer": {
9071 | "type": "integer",
9072 | "description": "Amount in microAlgo to sell the NFD for. 1 ALGO is 1,000,000 microAlgo. 100 million maximum.",
9073 | "example": 1,
9074 | "format": "int64",
9075 | "minimum": 0,
9076 | "maximum": 100000000000000
9077 | },
9078 | "payReceiver": {
9079 | "type": "boolean",
9080 | "description": "Whether to pay the offer amount + fees to the account the NFD is reserved for. Equivalent to 'gifting' the NFD",
9081 | "example": false
9082 | },
9083 | "reservedFor": {
9084 | "type": "string",
9085 | "example": "333333333333333333333333333333333333333333333333333333333A",
9086 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9087 | },
9088 | "sender": {
9089 | "type": "string",
9090 | "description": "Sender of transaction - needs to be owner of NFD",
9091 | "example": "333333333333333333333333333333333333333333333333333333333A",
9092 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9093 | }
9094 | },
9095 | "example": {
9096 | "offer": 1,
9097 | "payReceiver": false,
9098 | "reservedFor": "333333333333333333333333333333333333333333333333333333333A",
9099 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9100 | },
9101 | "required": [
9102 | "sender",
9103 | "offer"
9104 | ]
9105 | },
9106 | "PostOfferToOwnerRequestBody": {
9107 | "type": "object",
9108 | "properties": {
9109 | "note": {
9110 | "type": "string",
9111 | "description": "Note to pass along to the NFD owner. Must be provided but can be blank",
9112 | "example": "aaa",
9113 | "maxLength": 512
9114 | },
9115 | "offer": {
9116 | "type": "integer",
9117 | "description": "Amount in microAlgo being offered to the NFD owner",
9118 | "example": 1000001,
9119 | "format": "int64",
9120 | "minimum": 1000000,
9121 | "maximum": 100000000000000
9122 | },
9123 | "sender": {
9124 | "type": "string",
9125 | "example": "333333333333333333333333333333333333333333333333333333333A",
9126 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9127 | }
9128 | },
9129 | "example": {
9130 | "note": "aaa",
9131 | "offer": 1000001,
9132 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9133 | },
9134 | "required": [
9135 | "sender",
9136 | "offer",
9137 | "note"
9138 | ]
9139 | },
9140 | "PurchaseRequestBody": {
9141 | "type": "object",
9142 | "properties": {
9143 | "buyer": {
9144 | "type": "string",
9145 | "example": "333333333333333333333333333333333333333333333333333333333A",
9146 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9147 | },
9148 | "offer": {
9149 | "type": "integer",
9150 | "description": "Amount in microAlgo to purchase/claim the NFD for",
9151 | "example": 1,
9152 | "format": "int64",
9153 | "minimum": 0,
9154 | "maximum": 100000000000000
9155 | }
9156 | },
9157 | "example": {
9158 | "buyer": "333333333333333333333333333333333333333333333333333333333A",
9159 | "offer": 1
9160 | },
9161 | "required": [
9162 | "buyer",
9163 | "offer"
9164 | ]
9165 | },
9166 | "RateLimited": {
9167 | "type": "object",
9168 | "properties": {
9169 | "limit": {
9170 | "type": "integer",
9171 | "example": 5,
9172 | "format": "int64"
9173 | },
9174 | "secsRemaining": {
9175 | "type": "integer",
9176 | "example": 50,
9177 | "format": "int64"
9178 | }
9179 | },
9180 | "example": {
9181 | "limit": 5,
9182 | "secsRemaining": 50
9183 | },
9184 | "required": [
9185 | "limit",
9186 | "secsRemaining"
9187 | ]
9188 | },
9189 | "RenewRequestBody": {
9190 | "type": "object",
9191 | "properties": {
9192 | "algoOffer": {
9193 | "type": "integer",
9194 | "description": "Offer price in ALGO. Expiration time set prorated based on amount paid vs fixed per-year cost when years argument is used",
9195 | "example": 2,
9196 | "format": "int64",
9197 | "minimum": 1,
9198 | "maximum": 100000000
9199 | },
9200 | "buyer": {
9201 | "type": "string",
9202 | "description": "Address paying/signing for minting transaction",
9203 | "example": "333333333333333333333333333333333333333333333333333333333A",
9204 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9205 | },
9206 | "name": {
9207 | "type": "string",
9208 | "example": "aa",
9209 | "pattern": "^.+\\.algo$",
9210 | "minLength": 1,
9211 | "maxLength": 120
9212 | },
9213 | "years": {
9214 | "type": "integer",
9215 | "description": "Number of years until expiration, 1 yr minimum, 20 max, extending renewal date - sets price in multiples of 1 year. If not current owner and expired, only 1 year is allowed",
9216 | "example": 2,
9217 | "format": "int64",
9218 | "minimum": 1,
9219 | "maximum": 20
9220 | }
9221 | },
9222 | "example": {
9223 | "algoOffer": 2,
9224 | "buyer": "333333333333333333333333333333333333333333333333333333333A",
9225 | "name": "aa",
9226 | "years": 2
9227 | },
9228 | "required": [
9229 | "name",
9230 | "buyer"
9231 | ]
9232 | },
9233 | "RescindOfferRequestBody": {
9234 | "type": "object",
9235 | "properties": {
9236 | "sender": {
9237 | "type": "string",
9238 | "description": "Sender of transaction - needs to be owner of NFD",
9239 | "example": "333333333333333333333333333333333333333333333333333333333A",
9240 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9241 | }
9242 | },
9243 | "example": {
9244 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9245 | },
9246 | "required": [
9247 | "sender"
9248 | ]
9249 | },
9250 | "SegmentLockRequestBody": {
9251 | "type": "object",
9252 | "properties": {
9253 | "lock": {
9254 | "type": "boolean",
9255 | "description": "Whether to lock (true), or unlock (false)",
9256 | "example": false
9257 | },
9258 | "sellAmount": {
9259 | "type": "integer",
9260 | "description": "amount users minting off the segment have to pay to mint in USD (in cents - ie: 300 = $3.00). Set to 0 if locking",
9261 | "example": 1,
9262 | "format": "int64",
9263 | "minimum": 0,
9264 | "maximum": 100000000
9265 | },
9266 | "sender": {
9267 | "type": "string",
9268 | "description": "Sender of transaction - needs to be owner of NFD",
9269 | "example": "333333333333333333333333333333333333333333333333333333333A",
9270 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9271 | }
9272 | },
9273 | "example": {
9274 | "lock": false,
9275 | "sellAmount": 1,
9276 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9277 | },
9278 | "required": [
9279 | "sender",
9280 | "lock",
9281 | "sellAmount"
9282 | ]
9283 | },
9284 | "SendFromVaultRequestBody": {
9285 | "type": "object",
9286 | "properties": {
9287 | "amount": {
9288 | "type": "integer",
9289 | "description": "Base amount (in base units of specified asset - so decimals must be considered) of asset to send. If multiple assets are specified, amount is should be 0 as ALL of each are sent and closed out",
9290 | "example": 1,
9291 | "format": "int64",
9292 | "minimum": 0,
9293 | "maximum": 100000000000000
9294 | },
9295 | "amountStr": {
9296 | "type": "string",
9297 | "description": "String version of Base amount (in base units of specified asset - so decimals must be considered) of asset to send. This is used to work around JS deficiencies with bigint",
9298 | "example": "abc123"
9299 | },
9300 | "assets": {
9301 | "type": "array",
9302 | "items": {
9303 | "type": "integer",
9304 | "example": 1,
9305 | "format": "int64"
9306 | },
9307 | "description": "Algorand ASA IDs to transfer FROM vault - use asset 0 to send ALGO. Specifying multiple assets means ALL of each are sent and amount is ignored. If receiver is a vault and needs to opt-in, then need MBR/opt-in pairs (5 pairs - 8 opt-ins each - 40 assets), then 6 send calls of 7 assets w/ 5 at end for total of 40. If receiver is already opted-in, then 112 (7 per txn, 16 tnxs) is max.",
9308 | "example": [
9309 | 1,
9310 | 1
9311 | ],
9312 | "minItems": 1,
9313 | "maxItems": 112
9314 | },
9315 | "note": {
9316 | "type": "string",
9317 | "description": "Optional note to include in asset send transaction",
9318 | "default": "",
9319 | "example": "aaa",
9320 | "maxLength": 1000
9321 | },
9322 | "receiver": {
9323 | "type": "string",
9324 | "description": "Algorand account or NFD Name (if vault receiver) the asset(s) should be sent to",
9325 | "example": "abc123"
9326 | },
9327 | "receiverCanSign": {
9328 | "type": "boolean",
9329 | "description": "Specifies that the receiver account is something the caller can sign for. If specified, then opt-in transactions it signs may be included",
9330 | "default": false,
9331 | "example": false
9332 | },
9333 | "receiverType": {
9334 | "type": "string",
9335 | "description": "Type of receiver, 'account', or 'nfdVault'",
9336 | "default": "account",
9337 | "example": "nfdVault",
9338 | "enum": [
9339 | "account",
9340 | "nfdVault"
9341 | ]
9342 | },
9343 | "sender": {
9344 | "type": "string",
9345 | "description": "Sender of transaction, must be NFD owner",
9346 | "example": "333333333333333333333333333333333333333333333333333333333A",
9347 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9348 | }
9349 | },
9350 | "example": {
9351 | "amount": 1,
9352 | "amountStr": "abc123",
9353 | "assets": [
9354 | 1,
9355 | 1
9356 | ],
9357 | "note": "aaa",
9358 | "receiver": "abc123",
9359 | "receiverCanSign": false,
9360 | "receiverType": "nfdVault",
9361 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9362 | },
9363 | "required": [
9364 | "sender",
9365 | "assets",
9366 | "receiver"
9367 | ]
9368 | },
9369 | "SendToVaultRequestBody": {
9370 | "type": "object",
9371 | "properties": {
9372 | "amount": {
9373 | "type": "integer",
9374 | "description": "Base amount (in base units of specified asset - so decimals must be considered) of asset to send. If multiple assets specified, amount is ignored and ALL of each are sent",
9375 | "example": 1,
9376 | "format": "int64",
9377 | "minimum": 0,
9378 | "maximum": 100000000000000
9379 | },
9380 | "amountStr": {
9381 | "type": "string",
9382 | "description": "String version of Base amount (in base units of specified asset - so decimals must be considered) of asset to send. This is used to work around JS deficiencies with bigint",
9383 | "example": "abc123"
9384 | },
9385 | "assets": {
9386 | "type": "array",
9387 | "items": {
9388 | "type": "integer",
9389 | "example": 1,
9390 | "format": "int64"
9391 | },
9392 | "description": "Algorand ASA IDs to transfer (and opt-in inside vault if necessary) - use asset 0 to send ALGO. Specifying multiple assets means ALL of each are sent and amount is ignored. 13 is max assets that can be specified if they're being sent (2 for MBR payments, 2 for opt-in txns (8+4 asset opt-ins), 12 asset transfers). If opt-in only then 64 is maximum (1 MBR per 8 assets, 8 assets per txn * 8 txns)",
9393 | "example": [
9394 | 1,
9395 | 1
9396 | ],
9397 | "minItems": 1,
9398 | "maxItems": 64
9399 | },
9400 | "note": {
9401 | "type": "string",
9402 | "description": "Optional note to include in asset send transaction",
9403 | "default": "",
9404 | "example": "aaa",
9405 | "maxLength": 1000
9406 | },
9407 | "optInOnly": {
9408 | "type": "boolean",
9409 | "description": "Whether to only opt-in to the asset, instead of including asset transfer txn",
9410 | "default": false,
9411 | "example": false
9412 | },
9413 | "sender": {
9414 | "type": "string",
9415 | "example": "333333333333333333333333333333333333333333333333333333333A",
9416 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9417 | }
9418 | },
9419 | "example": {
9420 | "amount": 1,
9421 | "amountStr": "abc123",
9422 | "assets": [
9423 | 1,
9424 | 1
9425 | ],
9426 | "note": "aaa",
9427 | "optInOnly": false,
9428 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9429 | },
9430 | "required": [
9431 | "sender",
9432 | "assets",
9433 | "optInOnly"
9434 | ]
9435 | },
9436 | "SetPrimaryAddressRequestBody": {
9437 | "type": "object",
9438 | "properties": {
9439 | "address": {
9440 | "type": "string",
9441 | "description": "The address (already linked) to make primary - swapping into position if necessary",
9442 | "example": "333333333333333333333333333333333333333333333333333333333A",
9443 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9444 | },
9445 | "sender": {
9446 | "type": "string",
9447 | "description": "Address that will be signing the returned transactions. Should be owner of NFD",
9448 | "example": "333333333333333333333333333333333333333333333333333333333A",
9449 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9450 | }
9451 | },
9452 | "example": {
9453 | "address": "333333333333333333333333333333333333333333333333333333333A",
9454 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9455 | },
9456 | "required": [
9457 | "sender",
9458 | "address"
9459 | ]
9460 | },
9461 | "TotalsOKResponseBody": {
9462 | "type": "object",
9463 | "properties": {
9464 | "contractTotals": {
9465 | "type": "object",
9466 | "properties": {
9467 | "allVersions": {
9468 | "type": "object",
9469 | "description": "Contract versions",
9470 | "example": {
9471 | "abc123": 1
9472 | },
9473 | "additionalProperties": {
9474 | "type": "integer",
9475 | "example": 1,
9476 | "format": "int64"
9477 | }
9478 | },
9479 | "majorVersions": {
9480 | "type": "object",
9481 | "description": "Contract versions",
9482 | "example": {
9483 | "abc123": 1
9484 | },
9485 | "additionalProperties": {
9486 | "type": "integer",
9487 | "example": 1,
9488 | "format": "int64"
9489 | }
9490 | }
9491 | },
9492 | "example": {
9493 | "allVersions": {
9494 | "abc123": 1
9495 | },
9496 | "majorVersions": {
9497 | "abc123": 1
9498 | }
9499 | }
9500 | },
9501 | "expiredTotal": {
9502 | "type": "integer",
9503 | "description": "NFDs that have expired",
9504 | "example": 1,
9505 | "format": "int64"
9506 | },
9507 | "forSale": {
9508 | "type": "integer",
9509 | "example": 1,
9510 | "format": "int64"
9511 | },
9512 | "match-check": {
9513 | "type": "string",
9514 | "description": "Not returned, used in tagging for response to indicate if-none-match etag matched",
9515 | "example": "abc123"
9516 | },
9517 | "mintedTotals": {
9518 | "type": "object",
9519 | "properties": {
9520 | "day": {
9521 | "type": "integer",
9522 | "example": 1,
9523 | "format": "int64"
9524 | },
9525 | "lifetime": {
9526 | "type": "integer",
9527 | "example": 1,
9528 | "format": "int64"
9529 | },
9530 | "month": {
9531 | "type": "integer",
9532 | "example": 1,
9533 | "format": "int64"
9534 | },
9535 | "week": {
9536 | "type": "integer",
9537 | "example": 1,
9538 | "format": "int64"
9539 | }
9540 | },
9541 | "example": {
9542 | "day": 1,
9543 | "lifetime": 1,
9544 | "month": 1,
9545 | "week": 1
9546 | }
9547 | },
9548 | "segmentTotals": {
9549 | "type": "object",
9550 | "properties": {
9551 | "day": {
9552 | "type": "integer",
9553 | "example": 1,
9554 | "format": "int64"
9555 | },
9556 | "lifetime": {
9557 | "type": "integer",
9558 | "example": 1,
9559 | "format": "int64"
9560 | },
9561 | "month": {
9562 | "type": "integer",
9563 | "example": 1,
9564 | "format": "int64"
9565 | },
9566 | "week": {
9567 | "type": "integer",
9568 | "example": 1,
9569 | "format": "int64"
9570 | }
9571 | },
9572 | "example": {
9573 | "day": 1,
9574 | "lifetime": 1,
9575 | "month": 1,
9576 | "week": 1
9577 | }
9578 | },
9579 | "soldTotals": {
9580 | "type": "object",
9581 | "properties": {
9582 | "day": {
9583 | "type": "integer",
9584 | "example": 1,
9585 | "format": "int64"
9586 | },
9587 | "lifetime": {
9588 | "type": "integer",
9589 | "example": 1,
9590 | "format": "int64"
9591 | },
9592 | "month": {
9593 | "type": "integer",
9594 | "example": 1,
9595 | "format": "int64"
9596 | },
9597 | "week": {
9598 | "type": "integer",
9599 | "example": 1,
9600 | "format": "int64"
9601 | }
9602 | },
9603 | "example": {
9604 | "day": 1,
9605 | "lifetime": 1,
9606 | "month": 1,
9607 | "week": 1
9608 | }
9609 | },
9610 | "total": {
9611 | "type": "integer",
9612 | "example": 1,
9613 | "format": "int64"
9614 | },
9615 | "totalSegments": {
9616 | "type": "integer",
9617 | "example": 1,
9618 | "format": "int64"
9619 | },
9620 | "uniqueOwners": {
9621 | "type": "integer",
9622 | "example": 1,
9623 | "format": "int64"
9624 | }
9625 | },
9626 | "example": {
9627 | "contractTotals": {
9628 | "allVersions": {
9629 | "abc123": 1
9630 | },
9631 | "majorVersions": {
9632 | "abc123": 1
9633 | }
9634 | },
9635 | "expiredTotal": 1,
9636 | "forSale": 1,
9637 | "match-check": "abc123",
9638 | "mintedTotals": {
9639 | "day": 1,
9640 | "lifetime": 1,
9641 | "month": 1,
9642 | "week": 1
9643 | },
9644 | "segmentTotals": {
9645 | "day": 1,
9646 | "lifetime": 1,
9647 | "month": 1,
9648 | "week": 1
9649 | },
9650 | "soldTotals": {
9651 | "day": 1,
9652 | "lifetime": 1,
9653 | "month": 1,
9654 | "week": 1
9655 | },
9656 | "total": 1,
9657 | "totalSegments": 1,
9658 | "uniqueOwners": 1
9659 | },
9660 | "required": [
9661 | "total",
9662 | "totalSegments",
9663 | "forSale",
9664 | "mintedTotals",
9665 | "segmentTotals",
9666 | "soldTotals",
9667 | "contractTotals",
9668 | "uniqueOwners",
9669 | "expiredTotal"
9670 | ]
9671 | },
9672 | "TwitterRecord": {
9673 | "type": "object",
9674 | "properties": {
9675 | "followers": {
9676 | "type": "integer",
9677 | "example": 1,
9678 | "format": "int64"
9679 | },
9680 | "following": {
9681 | "type": "integer",
9682 | "example": 1,
9683 | "format": "int64"
9684 | },
9685 | "nfd": {
9686 | "$ref": "#/components/schemas/NFD"
9687 | },
9688 | "timeChanged": {
9689 | "type": "string",
9690 | "example": "1970-01-01T00:00:01Z",
9691 | "format": "date-time"
9692 | },
9693 | "tweets": {
9694 | "type": "integer",
9695 | "example": 1,
9696 | "format": "int64"
9697 | },
9698 | "twitterHandle": {
9699 | "type": "string",
9700 | "example": "abc123"
9701 | }
9702 | },
9703 | "description": "TwitterRecord contains information about an NFD w/ Verified Twitter account and basic info on its twitter metrics",
9704 | "example": {
9705 | "followers": 1,
9706 | "following": 1,
9707 | "nfd": {
9708 | "appID": 1000000,
9709 | "asaID": 1,
9710 | "avatarOutdated": false,
9711 | "caAlgo": [
9712 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
9713 | ],
9714 | "cache-control": "abc123",
9715 | "category": "abc123",
9716 | "currentAsOfBlock": 1,
9717 | "depositAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9718 | "etag": "abc123",
9719 | "expired": false,
9720 | "match-check": "abc123",
9721 | "metaTags": [
9722 | "abc123"
9723 | ],
9724 | "name": "abc123",
9725 | "nfdAccount": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9726 | "owner": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9727 | "parentAppID": 1000000,
9728 | "properties": {
9729 | "internal": {
9730 | "abc123": "abc123"
9731 | },
9732 | "userDefined": {
9733 | "ca:b": "abc123"
9734 | },
9735 | "verified": {
9736 | "caAlgo": "abc123"
9737 | }
9738 | },
9739 | "reservedFor": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9740 | "saleType": "abc123",
9741 | "sellAmount": 1,
9742 | "seller": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9743 | "sigNameAddress": "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU",
9744 | "state": "abc123",
9745 | "tags": [
9746 | "abc123"
9747 | ],
9748 | "timeChanged": "1970-01-01T00:00:01Z",
9749 | "timeCreated": "1970-01-01T00:00:01Z",
9750 | "timeExpires": "1970-01-01T00:00:01Z",
9751 | "timePurchased": "1970-01-01T00:00:01Z",
9752 | "unverifiedCa": {
9753 | "btc": [
9754 | "12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL"
9755 | ]
9756 | },
9757 | "unverifiedCaAlgo": [
9758 | "4F5OA5OQC5TBHMCUDJWGKMUZAQE7BGWCKSJJSJEMJO5PURIFT5RW3VHNZU"
9759 | ]
9760 | },
9761 | "timeChanged": "1970-01-01T00:00:01Z",
9762 | "tweets": 1,
9763 | "twitterHandle": "abc123"
9764 | },
9765 | "required": [
9766 | "timeChanged",
9767 | "nfd",
9768 | "twitterHandle",
9769 | "followers",
9770 | "following",
9771 | "tweets"
9772 | ]
9773 | },
9774 | "UpdatePartialRequestBody": {
9775 | "type": "object",
9776 | "properties": {
9777 | "properties": {
9778 | "$ref": "#/components/schemas/NFDProperties"
9779 | },
9780 | "sender": {
9781 | "type": "string",
9782 | "description": "Address that will be signing the returned transactions. Should be owner of NFD",
9783 | "example": "333333333333333333333333333333333333333333333333333333333A",
9784 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9785 | }
9786 | },
9787 | "example": {
9788 | "properties": {
9789 | "internal": {
9790 | "abc123": "abc123"
9791 | },
9792 | "userDefined": {
9793 | "ca:b": "abc123"
9794 | },
9795 | "verified": {
9796 | "caAlgo": "abc123"
9797 | }
9798 | },
9799 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9800 | },
9801 | "required": [
9802 | "sender",
9803 | "properties"
9804 | ]
9805 | },
9806 | "VerifyConfirmRequestBody": {
9807 | "type": "object",
9808 | "properties": {
9809 | "challenge": {
9810 | "type": "string",
9811 | "description": "Challenge value, optional depending on verification type",
9812 | "example": "abc123"
9813 | }
9814 | },
9815 | "example": {
9816 | "challenge": "abc123"
9817 | }
9818 | },
9819 | "VerifyConfirmResponseBody": {
9820 | "type": "object",
9821 | "properties": {
9822 | "confirmed": {
9823 | "type": "boolean",
9824 | "example": false
9825 | }
9826 | },
9827 | "description": "Whether verification was successful",
9828 | "example": {
9829 | "confirmed": false
9830 | },
9831 | "required": [
9832 | "confirmed"
9833 | ]
9834 | },
9835 | "VerifyRequestRequestBody": {
9836 | "type": "object",
9837 | "properties": {
9838 | "fieldToVerify": {
9839 | "type": "string",
9840 | "description": "User defined field name to verify",
9841 | "example": "twitter",
9842 | "enum": [
9843 | "blueskydid",
9844 | "twitter",
9845 | "github",
9846 | "domain",
9847 | "email",
9848 | "avatar",
9849 | "banner"
9850 | ]
9851 | },
9852 | "name": {
9853 | "type": "string",
9854 | "example": "aa",
9855 | "pattern": "^.+\\.algo$",
9856 | "minLength": 1,
9857 | "maxLength": 120
9858 | },
9859 | "sender": {
9860 | "type": "string",
9861 | "description": "Sender of transaction - needs to be owner of NFD",
9862 | "example": "333333333333333333333333333333333333333333333333333333333A",
9863 | "pattern": "^[A-Z2-7]{57}[AEIMQUY4]$"
9864 | }
9865 | },
9866 | "example": {
9867 | "fieldToVerify": "twitter",
9868 | "name": "aa",
9869 | "sender": "333333333333333333333333333333333333333333333333333333333A"
9870 | },
9871 | "required": [
9872 | "name",
9873 | "sender",
9874 | "fieldToVerify"
9875 | ]
9876 | },
9877 | "VerifyRequestResponseBody": {
9878 | "type": "object",
9879 | "properties": {
9880 | "challenge": {
9881 | "type": "string",
9882 | "description": "Challenge to be used as part of verification process, with use specific to each field",
9883 | "example": "abc123"
9884 | },
9885 | "id": {
9886 | "type": "string",
9887 | "description": "ID of challenge, must be used in subsequent confirmation call but may be blank",
9888 | "example": "abc123"
9889 | },
9890 | "validated": {
9891 | "type": "boolean",
9892 | "description": "If set, no confirmation is required, the verify call was sufficient",
9893 | "example": false
9894 | }
9895 | },
9896 | "description": "Data to use as part of verification",
9897 | "example": {
9898 | "challenge": "abc123",
9899 | "id": "abc123",
9900 | "validated": false
9901 | },
9902 | "required": [
9903 | "id",
9904 | "challenge"
9905 | ]
9906 | },
9907 | "VersionResponseBody": {
9908 | "type": "object",
9909 | "properties": {
9910 | "appVersion": {
9911 | "type": "string",
9912 | "example": "5cfa595 [2022-03-20T17:02:35Z]"
9913 | },
9914 | "contractVersion": {
9915 | "type": "string",
9916 | "example": "1.0"
9917 | }
9918 | },
9919 | "example": {
9920 | "appVersion": "5cfa595 [2022-03-20T17:02:35Z]",
9921 | "contractVersion": "1.0"
9922 | },
9923 | "required": [
9924 | "appVersion",
9925 | "contractVersion"
9926 | ]
9927 | }
9928 | },
9929 | "securitySchemes": {
9930 | "basic_header_Authorization": {
9931 | "type": "http",
9932 | "description": "Basic authentication",
9933 | "scheme": "basic"
9934 | },
9935 | "jwt_header_Authorization": {
9936 | "type": "http",
9937 | "description": "Secures endpoint by requiring a valid JWT token.",
9938 | "scheme": "bearer"
9939 | },
9940 | "jwt_query_token": {
9941 | "type": "http",
9942 | "description": "Secures endpoint by requiring a valid JWT token.",
9943 | "scheme": "bearer"
9944 | }
9945 | }
9946 | },
9947 | "tags": [
9948 | {
9949 | "name": "info",
9950 | "description": "The info service provides information on version data, liveness, readiness checks, etc."
9951 | },
9952 | {
9953 | "name": "nfd",
9954 | "description": "The nfd service provides apis for creating/searching/updating NFDs. All changes occur via smart-contract calls with the endpoints returning transactions to sign for submission to an Algorand node"
9955 | }
9956 | ]
9957 | }
```