HydraCore
API by router

Templates

List Templates

List all available website templates — public catalog, no auth required.

Returns active templates ordered by display_order. "Life is like a box of chocolates..." — Forrest Gump (and website templates are like a box of verticals)

GET
/v1/templates

Query Parameters

limit?Limit
Default50
Range1 <= value <= 100
offset?Offset
Default0
Range0 <= value

Response Body

curl -X GET "https://loading/v1/templates?limit=50&offset=0"
[
  {
    "custom_upload_id": "32c143b7-3420-4cb9-8ea3-6d8d9a659ee2",
    "default_content": {},
    "default_integrations": [],
    "default_seo_description": "string",
    "default_seo_title": "string",
    "default_skills": [],
    "description": "string",
    "display_order": 0,
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "preview_image_url": "string",
    "preview_urls": [],
    "rendering_mode": "string",
    "scope": "platform",
    "security_status": "clean",
    "slug": "string",
    "source_type": "builtin",
    "status": "active",
    "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
    "vertical": "string",
    "visibility": "customer"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List platform templates + tenant-visible templates for the current user.

GET
/v1/templates/gallery
AuthorizationBearer <token>

In: header

Query Parameters

limit?Limit
Default50
Range1 <= value <= 100
offset?Offset
Default0
Range0 <= value

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/templates/gallery?limit=50&offset=0" \  -H "X-Api-Key: string"
[
  {
    "custom_upload_id": "32c143b7-3420-4cb9-8ea3-6d8d9a659ee2",
    "default_content": {},
    "default_integrations": [],
    "default_seo_description": "string",
    "default_seo_title": "string",
    "default_skills": [],
    "description": "string",
    "display_order": 0,
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "preview_image_url": "string",
    "preview_urls": [],
    "rendering_mode": "string",
    "scope": "platform",
    "security_status": "clean",
    "slug": "string",
    "source_type": "builtin",
    "status": "active",
    "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
    "vertical": "string",
    "visibility": "customer"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}
POST
/v1/templates/gallery/{template_id}/instantiate
AuthorizationBearer <token>

In: header

Path Parameters

template_idTemplate Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
bootstrap_release?Bootstrap Release
Defaultfalse
customer_id?Customer Id
dedicated_instance_id?Dedicated Instance Id
hosting_mode?Hosting Mode
Default"draft"
Match^(draft|shared|dedicated)$
primary_domain?Primary Domain
site_name?Site Name
webhost_node_id?Webhost Node Id

Response Body

curl -X POST "https://loading/v1/templates/gallery/497f6eca-6276-4993-bfeb-53cbbbba6f08/instantiate" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "deploy_task_id": "string",
  "hosted_website_id": "2e68090f-4b97-4f89-8ca4-5adeb58dde95",
  "hosting_mode": "string",
  "selected_node_id": "d14898b8-4f35-412a-8e47-dd691a362904",
  "website_config": {
    "content_mode": "bundle",
    "created_at": "2019-08-24T14:15:22Z",
    "custom_upload_id": "32c143b7-3420-4cb9-8ea3-6d8d9a659ee2",
    "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
    "deployed_at": "2019-08-24T14:15:22Z",
    "deployed_instance_id": "5d02be4a-43b3-42f1-9872-f2bfe2e6f121",
    "faq": [],
    "features": [],
    "hero_cta_text": "string",
    "hero_subtitle": "string",
    "hero_title": "string",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
    "is_primary": true,
    "pricing_currency": "USD",
    "pricing_plans": [],
    "robots_txt_custom": "string",
    "seo_description": "string",
    "seo_keywords": "string",
    "seo_og_image_url": "string",
    "seo_title": "string",
    "sitemap_enabled": true,
    "status": "draft",
    "stripe_connect_account_id": "string",
    "stripe_publishable_key": "string",
    "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc",
    "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
    "testimonials": [],
    "trial_days": 14,
    "updated_at": "2019-08-24T14:15:22Z"
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}
GET
/v1/templates/gallery/{template_id}/preview
AuthorizationBearer <token>

In: header

Path Parameters

template_idTemplate Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/templates/gallery/497f6eca-6276-4993-bfeb-53cbbbba6f08/preview" \  -H "X-Api-Key: string"
{
  "generated": true,
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "preview_html": "string",
  "preview_image_url": "string",
  "preview_urls": [],
  "slug": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Import Template From Upload

Promote a validated custom upload into a tenant-owned reusable template.

POST
/v1/templates/import
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
description?Description
nameName
Length1 <= length <= 200
preview_image_url?Preview Image Url
preview_urls?Preview Urls
Itemsitems <= 8
rendering_mode?Rendering Mode
Default"static"
Match^(ssr|static|spa)$
upload_idUpload Id
Formatuuid
verticalVertical

Business vertical — free-text, used for filtering/suggestions

Lengthlength <= 50
visibility?Visibility
Default"private"
Match^(private|customer)$

Response Body

curl -X POST "https://loading/v1/templates/import" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "upload_id": "f2ef591b-135b-46fa-a604-3d4fda5bfbfb",    "vertical": "string"  }'
{
  "custom_upload_id": "32c143b7-3420-4cb9-8ea3-6d8d9a659ee2",
  "default_content": {},
  "default_integrations": [],
  "default_seo_description": "string",
  "default_seo_title": "string",
  "default_skills": [],
  "description": "string",
  "display_order": 0,
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "preview_image_url": "string",
  "preview_urls": [],
  "rendering_mode": "string",
  "scope": "platform",
  "security_status": "clean",
  "slug": "string",
  "source_type": "builtin",
  "status": "active",
  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
  "vertical": "string",
  "visibility": "customer"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Update Tenant Template

Update tenant-owned template metadata and visibility.

PATCH
/v1/templates/library/{template_id}
AuthorizationBearer <token>

In: header

Path Parameters

template_idTemplate Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
description?Description
is_active?Is Active
name?Name
preview_image_url?Preview Image Url
preview_urls?Preview Urls
vertical?Vertical
visibility?Visibility

Response Body

curl -X PATCH "https://loading/v1/templates/library/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "custom_upload_id": "32c143b7-3420-4cb9-8ea3-6d8d9a659ee2",
  "default_content": {},
  "default_integrations": [],
  "default_seo_description": "string",
  "default_seo_title": "string",
  "default_skills": [],
  "description": "string",
  "display_order": 0,
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "preview_image_url": "string",
  "preview_urls": [],
  "rendering_mode": "string",
  "scope": "platform",
  "security_status": "clean",
  "slug": "string",
  "source_type": "builtin",
  "status": "active",
  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
  "vertical": "string",
  "visibility": "customer"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Template

Get a specific template by slug — public, no auth required.

GET
/v1/templates/{slug}

Path Parameters

slugSlug

Response Body

curl -X GET "https://loading/v1/templates/string"
{
  "custom_upload_id": "32c143b7-3420-4cb9-8ea3-6d8d9a659ee2",
  "default_content": {},
  "default_integrations": [],
  "default_seo_description": "string",
  "default_seo_title": "string",
  "default_skills": [],
  "description": "string",
  "display_order": 0,
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "preview_image_url": "string",
  "preview_urls": [],
  "rendering_mode": "string",
  "scope": "platform",
  "security_status": "clean",
  "slug": "string",
  "source_type": "builtin",
  "status": "active",
  "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",
  "vertical": "string",
  "visibility": "customer"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Template Preview

GET
/v1/templates/{slug}/preview

Path Parameters

slugSlug

Response Body

curl -X GET "https://loading/v1/templates/string/preview"
{
  "generated": true,
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "preview_html": "string",
  "preview_image_url": "string",
  "preview_urls": [],
  "slug": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}