Akash Console Deployment API

REST API for programmatic deployment management on Akash Network with managed wallets and credit-card billing. Supports creating, listing, updating, and closing deployments via SDL manifests. Includes bid management, lease creation, and escrow funding operations. Designed for SaaS platforms and non-crypto-native users.

OpenAPI Specification

akash-console-deployment-api.json Raw ↑
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://console-api-sandbox.akash.network"
    }
  ],
  "info": {
    "title": "Akash Network Console API",
    "description": "API providing data to the Akash Network Console",
    "version": "v1"
  },
  "paths": {
    "/v1/start-trial": {
      "post": {
        "summary": "Start a trial period for a user",
        "description": "Creates a managed wallet for a user and initiates a trial period. This endpoint handles payment method validation and may require 3D Secure authentication for certain payment methods. Returns wallet information and trial status.",
        "tags": [
          "Wallet"
        ],
        "security": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "userId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "userId"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Trial started successfully and wallet created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number",
                          "nullable": true
                        },
                        "userId": {
                          "type": "string",
                          "nullable": true
                        },
                        "creditAmount": {
                          "type": "number"
                        },
                        "address": {
                          "type": "string",
                          "nullable": true
                        },
                        "denom": {
                          "type": "string"
                        },
                        "isTrialing": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string",
                          "nullable": true
                        },
                        "requires3DS": {
                          "type": "boolean"
                        },
                        "clientSecret": {
                          "type": "string",
                          "nullable": true
                        },
                        "paymentIntentId": {
                          "type": "string",
                          "nullable": true
                        },
                        "paymentMethodId": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "userId",
                        "creditAmount",
                        "address",
                        "denom",
                        "isTrialing",
                        "createdAt"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "202": {
            "description": "3D Secure authentication required to complete trial setup",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number",
                          "nullable": true
                        },
                        "userId": {
                          "type": "string",
                          "nullable": true
                        },
                        "creditAmount": {
                          "type": "number"
                        },
                        "address": {
                          "type": "string",
                          "nullable": true
                        },
                        "denom": {
                          "type": "string"
                        },
                        "isTrialing": {
                          "type": "boolean"
                        },
                        "createdAt": {
                          "type": "string",
                          "nullable": true
                        },
                        "requires3DS": {
                          "type": "boolean"
                        },
                        "clientSecret": {
                          "type": "string",
                          "nullable": true
                        },
                        "paymentIntentId": {
                          "type": "string",
                          "nullable": true
                        },
                        "paymentMethodId": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "userId",
                        "creditAmount",
                        "address",
                        "denom",
                        "isTrialing",
                        "createdAt"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/wallets": {
      "get": {
        "summary": "Get a list of wallets",
        "tags": [
          "Wallet"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "required": true,
            "description": "The ID of the user to get the wallets for",
            "name": "userId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a created wallet",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number",
                            "nullable": true
                          },
                          "userId": {
                            "type": "string",
                            "nullable": true
                          },
                          "creditAmount": {
                            "type": "number"
                          },
                          "address": {
                            "type": "string",
                            "nullable": true
                          },
                          "denom": {
                            "type": "string"
                          },
                          "isTrialing": {
                            "type": "boolean"
                          },
                          "createdAt": {
                            "type": "string",
                            "nullable": true
                          },
                          "requires3DS": {
                            "type": "boolean"
                          },
                          "clientSecret": {
                            "type": "string",
                            "nullable": true
                          },
                          "paymentIntentId": {
                            "type": "string",
                            "nullable": true
                          },
                          "paymentMethodId": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "userId",
                          "creditAmount",
                          "address",
                          "denom",
                          "isTrialing",
                          "createdAt"
                        ]
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/wallet-settings": {
      "get": {
        "summary": "Get wallet settings",
        "description": "Retrieves the wallet settings for the current user's wallet",
        "tags": [
          "WalletSetting"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Wallet settings retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "autoReloadEnabled": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "autoReloadEnabled"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "UserWallet Not Found"
          }
        }
      },
      "post": {
        "summary": "Create wallet settings",
        "description": "Creates wallet settings for a user wallet",
        "tags": [
          "WalletSetting"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "autoReloadEnabled": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "autoReloadEnabled"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Wallet settings created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "autoReloadEnabled": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "autoReloadEnabled"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "UserWallet Not Found"
          }
        }
      },
      "put": {
        "summary": "Update wallet settings",
        "description": "Updates wallet settings for a user wallet",
        "tags": [
          "WalletSetting"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "autoReloadEnabled": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "autoReloadEnabled"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Wallet settings updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "autoReloadEnabled": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "autoReloadEnabled"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "UserWallet Not Found"
          }
        }
      },
      "delete": {
        "summary": "Delete wallet settings",
        "description": "Deletes wallet settings for a user wallet",
        "tags": [
          "WalletSetting"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "204": {
            "description": "Wallet settings deleted successfully"
          },
          "404": {
            "description": "UserWallet Not Found"
          }
        }
      }
    },
    "/v1/tx": {
      "post": {
        "summary": "Signs a transaction via a user managed wallet",
        "tags": [
          "Wallet"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "userId": {
                        "type": "string"
                      },
                      "messages": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "typeUrl": {
                              "type": "string",
                              "enum": [
                                "/akash.deployment.v1beta4.MsgCreateDeployment",
                                "/akash.cert.v1.MsgCreateCertificate",
                                "/akash.market.v1beta5.MsgCreateLease",
                                "/akash.deployment.v1beta4.MsgUpdateDeployment",
                                "/akash.deployment.v1beta4.MsgCloseDeployment",
                                "/akash.escrow.v1.MsgAccountDeposit"
                              ]
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "typeUrl",
                            "value"
                          ]
                        },
                        "minItems": 1
                      }
                    },
                    "required": [
                      "userId",
                      "messages"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns a signed transaction",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "number"
                        },
                        "transactionHash": {
                          "type": "string"
                        },
                        "rawLog": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "code",
                        "transactionHash",
                        "rawLog"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/stripe/prices": {
      "get": {
        "summary": "Get available Stripe pricing options",
        "description": "Retrieves the list of available pricing options for wallet top-ups, including custom amounts and standard pricing tiers",
        "tags": [
          "Payment"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Available pricing options retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "currency": {
                            "type": "string"
                          },
                          "unitAmount": {
                            "type": "number"
                          },
                          "isCustom": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "currency",
                          "unitAmount",
                          "isCustom"
                        ]
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/stripe/coupons/apply": {
      "post": {
        "summary": "Apply a coupon to the current user",
        "tags": [
          "Payment"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "couponId": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "awaitResolved": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "couponId",
                      "userId"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Coupon applied successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "coupon": {
                          "type": "object",
                          "nullable": true,
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "percent_off": {
                              "type": "number",
                              "nullable": true
                            },
                            "amount_off": {
                              "type": "number",
                              "nullable": true
                            },
                            "valid": {
                              "type": "boolean",
                              "nullable": true
                            },
                            "name": {
                              "type": "string",
                              "nullable": true
                            },
                            "description": {
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "required": [
                            "id"
                          ]
                        },
                        "amountAdded": {
                          "type": "number"
                        },
                        "transactionId": {
                          "type": "string"
                        },
                        "transactionStatus": {
                          "type": "string",
                          "enum": [
                            "created",
                            "pending",
                            "requires_action",
                            "succeeded",
                            "failed",
                            "refunded",
                            "canceled"
                          ]
                        },
                        "error": {
                          "type": "object",
                          "properties": {
                            "message": {
                              "type": "string"
                            },
                            "code": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "message"
                          ]
                        }
                      }
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/stripe/customers/organization": {
      "put": {
        "summary": "Update customer organization",
        "description": "Updates the organization/business name for the current user's Stripe customer account",
        "tags": [
          "Payment"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "organization": {
                    "type": "string"
                  }
                },
                "required": [
                  "organization"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Organization updated successfully"
          }
        }
      }
    },
    "/v1/stripe/payment-methods/setup": {
      "post": {
        "summary": "Create a Stripe SetupIntent for adding a payment method",
        "description": "Creates a Stripe SetupIntent that allows users to securely add payment methods to their account. The SetupIntent provides a client secret that can be used with Stripe's frontend SDKs to collect payment method details.",
        "tags": [
          "Payment"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "SetupIntent created successfully with client secret",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "clientSecret": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "clientSecret"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/stripe/payment-methods/default": {
      "post": {
        "summary": "Marks a payment method as the default.",
        "tags": [
          "Payment"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id"
                    ]
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Payment method is marked as the default successfully."
          }
        }
      },
      "get": {
        "summary": "Get the default payment method for the current user",
        "description": "Retrieves the default payment method associated with the current user's account, including card details, validation status, and billing information.",
        "tags": [
          "Payment"
        ],
        "security": [
          {
            "BearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Default payment method retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "validated": {
                          "type": "boolean"
                        },
                        "isDefault": {
                          "type": "boolean"
                        },
                        "card": {
                          "type": "object",
                          "nullable": true,
                          "properties": {
                            "brand": {
                              "type": "string",
                              "nullable": true
                            },
                            "last4": {
                              "type": "string",
                              "nullable": true
                            },
                            "exp_month": {
                              "type": "number"
                            },
                            "exp_year": {
                              "type": "number"
                            },
                            "funding": {
                              "type": "string",
                              "nullable": true
                            },
                            "country": {
                              "type": "string",
                              "nullable": true
                            },
                            "network": {
                              "type": "string",
                              "nullable": true
                            },
                            "three_d_secure_usage": {
                              "type": "object",
                              "nullable": true,
                              "properties": {
                                "supported": {
                                  "type": "boolean",
                                  "nullable": true
                                }
                              }
                            }
                          },
                          "required": [
                            "brand",
                            "last4",
                            "exp_month",
                            "exp_year"
                          ]
                        },
                        "link": {
                          "type": "object",
                          "nullable": true,
                          "properties": {
                            "email": {
                              "type": "string",
                              "nullable": true
                            }
                          }
                        },
                        "billing_details": {
                          "type": "object",
                          "properties": {
                            "address": {
                              "type": "object",
                              "nullable": true,
                              "properties": {
                                "city": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "country": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "line1": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "line2": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "postal_code": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "state

# --- truncated at 32 KB (786 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akash/refs/heads/main/openapi/akash-console-deployment-api.json