FIO App API

Overview

If the integrator desires to have full control over the UI, interaction via an API is also possible using FIO App API.

📘

FIO Private Key

Please note that with this option the integrator must generate and store the FIO Private Key inside their application and pass the corresponding FIO Public Key via the API. As a result the API is limited to registering FIO Handle/Domain, renewing FIO Domain, or adding bundles to FIO Handle.

Free FIO Handle Registrations

👍

Get Free FIO Handles for your users

The FIO Foundation may be able to fund new FIO Handle registrations for qualified partners. Please reach out to the FIO Foundation's Partnerships Team for further information.

Use /buy-address endpoint and pass apiToken obtained from the FIO Foundation. Please note the following:

  • You will receive an immediate success=true response if the handle is available, but the actual registration on-chain make take several seconds.
  • If the supplied publicKey already has a free FIO Handle, success parameter will contain charge object which contains links to make a payment, as only one free FIO Handle per FIO Public Key is allowed. If the integrator does not want to support paid registrations success=true should be the indication if registration was successful.

Paid Registrations

To register a new FIO Handle, FIO Domain, or FIO Handle and Domain use /buy-address endpoint and pass one of the following in the address parameters:

  • New FIO Handle, e.g. newuser@domain. Please note that the domain has to be public or "error": "Domain is not public" will be returned.
  • New FIO Domain, e.g. newdomain. Please note that the FIO App API is not able to register FIO Handles on private domains and all new domain registrations are initially private. Therefore to register a handle on a new domain use New FIO Handle on New FIO Domain option rather than registering domain first and then FIO Handle.
  • New FIO Handle on New FIO Domain, e.g. newuser@newdomain. Both the new FIO Domain and FIO Handle will be registered in one transaction.

Renewals

To renew a FIO Handle Domain or add bundles to a FIO Handle, use /renew-address and pass one of the following in the address parameters:

  • FIO Handle, e.g. user@domain. Any FIO Handle can be passed, even if it is not owned by the supplied publicKey.
  • FIO Domain, e.g. domain. Any FIO Domain can be passed, even if it is not owned by the supplied publicKey.

Payment

Paid registrations must be paid using crypto via Bitpay. The integrator can either redirect the user to a Bitpay url returned in the /buy-address response or trigger payment inside their wallet using Bitpay's JSON Payment Protocol.

Order Status

To check order status, use /summary. You can also make a call directly to the FIO Chain:

  • To get FIO Handles owned by FIO Public Key or to see current bundle count, use /get_fio_addresses.
  • To get FIO Domains owned by FIO Public Key or to see expiration date, use /get_fio_domains.