Akash Network Users API

The Users API from Akash Network — 18 operation(s) for users.

Operations 18

POST /v1/register-user Registers a new user #
GET /v1/user/me Retrieves the logged in user #
GET /v1/user/byUsername/{username} Get user by username #
PUT /v1/user/updateSettings Update user settings #
GET /v1/user/checkUsernameAvailability/{username} Check if username is available #
POST /v1/user/subscribeToNewsletter Subscribe to newsletter #
GET /v1/user/template/{id} Get template by ID #
POST /v1/user/saveTemplate Save template #
POST /v1/user/saveTemplateDesc Save template description #
GET /v1/user/templates/{username} Get templates by username #
DELETE /v1/user/deleteTemplate/{id} Delete template #
GET /v1/user/favoriteTemplates Get favorite templates #
POST /v1/user/addFavoriteTemplate/{templateId} Add favorite template #
DELETE /v1/user/removeFavoriteTemplate/{templateId} Remove favorite template #
POST /v1/send-verification-email Resends a verification email #
POST /v1/send-verification-code Sends a verification code to the authenticated user's email #
POST /v1/verify-email-code Verifies the email using a 6-digit code #
POST /v1/verify-email Checks if the email is verified #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/akash-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

akash-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Akash Network Console Users API
  description: API providing data to the Akash Network Console
  version: v1
servers:
- url: https://console-api-sandbox.akash.network
tags:
- name: Users
paths:
  /v1/register-user:
    post:
      summary: Registers a new user
      tags:
      - Users
      security: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                wantedUsername:
                  type: string
                email:
                  type: string
                emailVerified:
                  type: boolean
                subscribedToNewsletter:
                  type: boolean
              required:
              - wantedUsername
              - email
              - emailVerified
      responses:
        '200':
          description: Returns the registered user
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      userId:
                        type: string
                      username:
                        type: string
                      email:
                        type: string
                      emailVerified:
                        type: boolean
                      stripeCustomerId:
                        type:
                        - string
                        - 'null'
                      bio:
                        type:
                        - string
                        - 'null'
                      subscribedToNewsletter:
                        type: boolean
                      youtubeUsername:
                        type:
                        - string
                        - 'null'
                      twitterUsername:
                        type:
                        - string
                        - 'null'
                      githubUsername:
                        type:
                        - string
                        - 'null'
                    required:
                    - id
                    - userId
                    - username
                    - email
                    - emailVerified
                    - subscribedToNewsletter
                required:
                - data
      operationId: postV1RegisterUser
      x-operation-id-source: derived
  /v1/user/me:
    get:
      summary: Retrieves the logged in user
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      responses:
        '200':
          description: Returns the logged in user
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      userId:
                        type: string
                      username:
                        type: string
                      email:
                        type: string
                      emailVerified:
                        type: boolean
                      stripeCustomerId:
                        type:
                        - string
                        - 'null'
                      bio:
                        type:
                        - string
                        - 'null'
                      subscribedToNewsletter:
                        type: boolean
                      youtubeUsername:
                        type:
                        - string
                        - 'null'
                      twitterUsername:
                        type:
                        - string
                        - 'null'
                      githubUsername:
                        type:
                        - string
                        - 'null'
                    required:
                    - id
                    - userId
                    - username
                    - email
                    - emailVerified
                    - subscribedToNewsletter
                required:
                - data
      operationId: getV1UserMe
      x-operation-id-source: derived
  /v1/user/byUsername/{username}:
    get:
      summary: Get user by username
      tags:
      - Users
      security: []
      parameters:
      - schema:
          type: string
        required: true
        name: username
        in: path
      responses:
        '200':
          description: Returns user profile
          content:
            application/json:
              schema:
                type: object
                properties:
                  username:
                    type: string
                  bio:
                    type:
                    - string
                    - 'null'
                required:
                - username
                - bio
        '404':
          description: User not found
      operationId: getV1UserByUsernameByUsername
      x-operation-id-source: derived
  /v1/user/updateSettings:
    put:
      summary: Update user settings
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  pattern: ^[a-zA-Z0-9_-]+$
                subscribedToNewsletter:
                  type: boolean
                bio:
                  type:
                  - string
                  - 'null'
                  maxLength: 5000
                youtubeUsername:
                  type:
                  - string
                  - 'null'
                  maxLength: 200
                twitterUsername:
                  type:
                  - string
                  - 'null'
                  maxLength: 200
                githubUsername:
                  type:
                  - string
                  - 'null'
                  maxLength: 200
              required:
              - username
      responses:
        '200':
          description: Settings updated successfully
        '400':
          description: Invalid input
        '401':
          description: Unauthorized
      operationId: putV1UserUpdateSettings
      x-operation-id-source: derived
  /v1/user/checkUsernameAvailability/{username}:
    get:
      summary: Check if username is available
      tags:
      - Users
      security: []
      parameters:
      - schema:
          type: string
        required: true
        name: username
        in: path
      responses:
        '200':
          description: Returns username availability
          content:
            application/json:
              schema:
                type: object
                properties:
                  isAvailable:
                    type: boolean
                required:
                - isAvailable
      operationId: getV1UserCheckUsernameAvailabilityByUsername
      x-operation-id-source: derived
  /v1/user/subscribeToNewsletter:
    post:
      summary: Subscribe to newsletter
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      responses:
        '200':
          description: Subscribed successfully
        '401':
          description: Unauthorized
      operationId: postV1UserSubscribeToNewsletter
      x-operation-id-source: derived
  /v1/user/template/{id}:
    get:
      summary: Get template by ID
      tags:
      - Users
      security: []
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: id
        in: path
      responses:
        '200':
          description: Returns template
        '400':
          description: Invalid template ID
        '404':
          description: Template not found
      operationId: getV1UserTemplateById
      x-operation-id-source: derived
  /v1/user/saveTemplate:
    post:
      summary: Save template
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                sdl:
                  type: string
                title:
                  type: string
                cpu:
                  type: number
                ram:
                  type: number
                storage:
                  type: number
                isPublic:
                  type: boolean
                description:
                  type: string
                  maxLength: 2000
              required:
              - sdl
              - title
              - cpu
              - ram
              - storage
              - isPublic
      responses:
        '200':
          description: Template saved successfully
        '400':
          description: Invalid input
        '401':
          description: Unauthorized
      operationId: postV1UserSaveTemplate
      x-operation-id-source: derived
  /v1/user/saveTemplateDesc:
    post:
      summary: Save template description
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                description:
                  type: string
              required:
              - id
              - description
      responses:
        '200':
          description: Template description saved successfully
        '401':
          description: Unauthorized
      operationId: postV1UserSaveTemplateDesc
      x-operation-id-source: derived
  /v1/user/templates/{username}:
    get:
      summary: Get templates by username
      tags:
      - Users
      security: []
      parameters:
      - schema:
          type: string
        required: true
        name: username
        in: path
      responses:
        '200':
          description: Returns templates
        '404':
          description: User not found
      operationId: getV1UserTemplatesByUsername
      x-operation-id-source: derived
  /v1/user/deleteTemplate/{id}:
    delete:
      summary: Delete template
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: id
        in: path
      responses:
        '200':
          description: Template deleted successfully
        '400':
          description: Invalid template ID
        '401':
          description: Unauthorized
      operationId: deleteV1UserDeleteTemplateById
      x-operation-id-source: derived
  /v1/user/favoriteTemplates:
    get:
      summary: Get favorite templates
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      responses:
        '200':
          description: Returns favorite templates
        '401':
          description: Unauthorized
      operationId: getV1UserFavoriteTemplates
      x-operation-id-source: derived
  /v1/user/addFavoriteTemplate/{templateId}:
    post:
      summary: Add favorite template
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: templateId
        in: path
      responses:
        '200':
          description: Template added to favorites
        '400':
          description: Invalid template ID
        '401':
          description: Unauthorized
      operationId: postV1UserAddFavoriteTemplateByTemplateId
      x-operation-id-source: derived
  /v1/user/removeFavoriteTemplate/{templateId}:
    delete:
      summary: Remove favorite template
      tags:
      - Users
      security:
      - BearerAuth: []
      - ApiKeyAuth: []
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: templateId
        in: path
      responses:
        '200':
          description: Template removed from favorites
        '400':
          description: Invalid template ID
        '401':
          description: Unauthorized
      operationId: deleteV1UserRemoveFavoriteTemplateByTemplateId
      x-operation-id-source: derived
  /v1/send-verification-email:
    post:
      summary: Resends a verification email
      tags:
      - Users
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    userId:
                      type: string
                  required:
                  - userId
              required:
              - data
      responses:
        '200':
          description: Returns a created wallet
          content: {}
      operationId: postV1SendVerificationEmail
      x-operation-id-source: derived
  /v1/send-verification-code:
    post:
      summary: Sends a verification code to the authenticated user's email
      tags:
      - Users
      security:
      - BearerAuth: []
      responses:
        '200':
          description: Returns the timestamp when the code was sent
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      codeSentAt:
                        type: string
                    required:
                    - codeSentAt
                required:
                - data
        '429':
          description: Too many requests
      operationId: postV1SendVerificationCode
      x-operation-id-source: derived
  /v1/verify-email-code:
    post:
      summary: Verifies the email using a 6-digit code
      tags:
      - Users
      security:
      - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    code:
                      type: string
                      pattern: ^\d{6}$
                  required:
                  - code
              required:
              - data
      responses:
        '204':
          description: Email verified successfully
        '400':
          description: Invalid or expired code
        '429':
          description: Too many attempts
      operationId: postV1VerifyEmailCode
      x-operation-id-source: derived
  /v1/verify-email:
    post:
      summary: Checks if the email is verified
      tags:
      - Users
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    email:
                      type: string
                      format: email
                  required:
                  - email
              required:
              - data
      responses:
        '200':
          description: Returns email verification status
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      emailVerified:
                        type: boolean
                    required:
                    - emailVerified
                required:
                - data
        '401':
          description: Unauthorized
        '404':
          description: User not found
      operationId: postV1VerifyEmail
      x-operation-id-source: derived
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'JWT token for authenticated users, sent in "Authorization: Bearer %token" header.'
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for programmatic access.
    x-user-id:
      type: apiKey
      in: header
      name: x-user-id
    x-owner-address:
      type: apiKey
      in: header
      name: x-owner-address