HydraCore
API by router

Customer signup

Create Signup

Create a new customer account and auto-place on a shared node.

Sends a verification code to the customer's email. Returns 503 if no shared hosting capacity is available.

POST
/v1/public/signup
company_nameCompany Name
Length1 <= length <= 200
emailEmail
Formatemail
plan?Plan
Default"starter"
Lengthlength <= 50
tenant_slugTenant Slug
Length1 <= length <= 100

Response Body

curl -X POST "https://loading/v1/public/signup" \  -H "Content-Type: application/json" \  -d '{    "company_name": "string",    "email": "user@example.com",    "tenant_slug": "string"  }'
{
  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  "message": "Check your email to get started",
  "site_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Plans

List available plans for a tenant's shared hosting.

GET
/v1/public/signup/plans/{tenant_slug}

Path Parameters

tenant_slugTenant Slug

Response Body

curl -X GET "https://loading/v1/public/signup/plans/string"
[
  {
    "description": "string",
    "features": [
      "string"
    ],
    "name": "string",
    "price": "string"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Verify Signup

Verify signup code and return portal JWT tokens.

POST
/v1/public/signup/verify
codeCode
Length6 <= length <= 6
emailEmail
Formatemail
tenant_slugTenant Slug
Length1 <= length <= 100

Response Body

curl -X POST "https://loading/v1/public/signup/verify" \  -H "Content-Type: application/json" \  -d '{    "code": "string",    "email": "user@example.com",    "tenant_slug": "string"  }'
{
  "access_token": "string",
  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  "expires_in": 3600,
  "refresh_token": "string",
  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
  "token_type": "bearer"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}