# Backend User Guide

## URL

<https://api.vorj.app/main/v2/docs>

{% hint style="info" %}
A valid API key or JWT token is required to use the API. Accounts can only be created through the frontend.
{% endhint %}

## Purpose of this guide

{% hint style="warning" %}

#### Warning: VORJ is currently beta

* This API is not meant for production use, currently beta.
* You, the user, accept all responsibility for the use of the VORJ API.
* Through the use of the API you are agreeing to the [terms of service](https://docs.vorj.app/the-legal-bits) and [privacy policy](https://docs.vorj.app/the-legal-bits) of VORJ.
* The VeChain Foundation San Marino nor any other entity associated with VeChain nor VORJ accept any responsibility associated with the use of VORJ.
* All smart contracts created and deployed through VORJ are done so through the VORJ deployment wallet and thus these smart contracts are owned and controlled by VORJ, unless they are transferred by the user to another wallet.
* The digital assets, either fungible or non-fungible, that are created as part of the smart contracts are minted into your own self-custody wallet, through the provided API endpoints, and thus the digital assets are owned and controlled by the private key holder of that wallet.
  {% endhint %}

The purpose of this guide is to provide a first time VORJ user with the steps required to create an account, organization, project and API key to start using the VORJ API endpoints.

{% hint style="info" %}
Every endpoint described in this document should be prefixed by the`/main/v1`
{% endhint %}

## API Authorization

Most of the APIs offered by VORJ require a valid JWT token or API key to be passed through the Authentication header. As a first time user of the API there is a requirement to populate the JWT token in order to generate an API key. A returning user can provide their previously generated API key. The JWT token should be placed into the `bearerAuth` input box and the API Key should be placed into the `apikeyAuth` input box.

The user should securely manage and store their API keys once it is generated and presented to the user. In the event of losing an API key the old one can be deleted, via the endpoint `DELETE /projects/apikey`, and a new one can be generated by the user through the endpoint `POST /projects/apikey`, see creating an API Key section for further details.

## Create and verify an account

Before you can proceed you first need to create and verify an account through the frontend. Follow the steps [here](https://docs.vorj.app/guides/frontend-user-guide#create-and-verify-an-account).

## Create an organization and project

Once you have created your account you need to create an organization and project. Follow the steps [here](#create-an-organization-and-project).

## Allocate resources to your project

Make sure to allocate resources to your project. Follow the steps [here](https://docs.vorj.app/guides/frontend-user-guide#1.-allocate-resources).

{% hint style="info" %}
The network of the project determines the network of the API key. In other words, a testnet API key cannot be used to query mainnet.
{% endhint %}

## Create an API key

Go to the Account Management page, via your avatar. Go to the API keys tab and create an API with the permissions of your choice. Copy and securely store the API key value, VORJ does not store the API key.

{% hint style="info" %}
API Keys are generated in VORJ, they are not stored within VORJ.
{% endhint %}

## How to use the API key

Go to <https://api.vorj.app/main/v2/docs> press the `Authorize` button and enter the API key value you copied and or stored into the `apiKeyAuth` field. This will now enable you to use several of the endpoints. Unlocked endpoints are shown by a locked lock symbol.
