Andamio LogoAndamio
Andamio API/Atlas tx builder api/Atlas Instance Admin/Atlas Self Service

Initialize Project 2 (Self-Service)

Atlas TX Builder APIAtlas Instance AdminAtlas Self Service

This endpoint allows an instance administrator to initialize a new project instance (Phase 2) via self-service. This sets up the foundational elements for a new project, including its associated validators.

POST
/atlas-tx-builder/instance-admin/self-service/init-project2
X-API-Key<token>

API Key for authentication. Example: "YOUR_API_KEY"

In: header

Initialize Project Instance 2 Request Body - Contains all necessary information to initialize a project instance, including used addresses, change address, collateral UTxO, optional multisig CBOR, the instance admin UTxO, project NFT policy ID, project NFT mint transaction reference, and contributor prerequisites.

changeAddress?string
collateralUTxO?object
contributorPrerequisite?array<object>
instanceAdminUTxO?object
maybeMultisigCbor?string
projectNftMintUTxO?object
projectNftPolicyId?string
usedAddresses?array<string>

Response Body

curl -X POST "https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/instance-admin/self-service/init-project2" \
  -H "Content-Type: application/json" \
  -d '{}'
const body = JSON.stringify({})

fetch("https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/instance-admin/self-service/init-project2", {
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/instance-admin/self-service/init-project2"
  body := strings.NewReader(`{}`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/instance-admin/self-service/init-project2"
body = {}
response = requests.request("POST", url, json = body, headers = {
  "Content-Type": "application/json"
})

print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;

var body = BodyPublishers.ofString("""{}""");
HttpClient client = HttpClient.newBuilder()
  .connectTimeout(Duration.ofSeconds(10))
  .build();

HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
  .uri(URI.create("https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/instance-admin/self-service/init-project2"))
  .header("Content-Type", "application/json")
  .POST(body)
  .build();

try {
  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
  System.out.println("Status code: " + response.statusCode());
  System.out.println("Response body: " + response.body());
} catch (Exception e) {
  e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;

var body = new StringContent("""
{}
""", Encoding.UTF8, "application/json");

var client = new HttpClient();
var response = await client.PostAsync("https://andamio-api-308006323670.us-central1.run.app/api/v1/atlas-tx-builder/instance-admin/self-service/init-project2", body);
var responseBody = await response.Content.ReadAsStringAsync();
{
  "instanceNftPolicyId": "policy_id",
  "signedTxCBOR": "58..."
}
{
  "details": "string",
  "message": "Bad Request: Invalid input.",
  "status_code": 400
}
{
  "details": "string",
  "message": "Unauthorized: Invalid or missing credentials.",
  "status_code": 401
}
{
  "details": "string",
  "message": "Forbidden: Insufficient permissions or tier access.",
  "status_code": 403
}
{
  "details": "string",
  "message": "Unprocessable Entity: Invalid request structure or data.",
  "status_code": 422
}
{
  "details": "string",
  "message": "Too Many Requests: Rate limit or quota exceeded.",
  "status_code": 429
}
{
  "details": "string",
  "message": "Internal Server Error: An unexpected error occurred.",
  "status_code": 500
}