HydraCore
API by router

Portal

Portal Chat

POST
/v1/portal/chat

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Request Body

application/json
  1. body
conversation_id?string|null
message*Message
Length1 <= length <= 8000

Response Body

Successful Response

response?unknownapplication/json
Example Request
curl -X POST 'https://example.com/v1/portal/chat' \  -H 'Content-Type: application/json' \  -d '{  "message": "string"}'
Example Response
null

Get My Profile

GET
/v1/portal/me

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Response Body

Successful Response

application/json
  1. response
company_name*string|null
email*string|null
id*Id
Formatuuid
industry*string|null
locale*string|null
portal_modules?
timezone*string|null
Example Request
curl -X GET 'https://example.com/v1/portal/me'
Example Response200
{  "company_name": "string",  "email": "string",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "industry": "string",  "locale": "string",  "portal_modules": {},  "timezone": "string"}

Portal Media Upload Url

POST
/v1/portal/media/upload-url

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Request Body

application/json
  1. body
content_type*Content Type
Length1 <= length <= 100
filename*Filename
Length1 <= length <= 255

Response Body

Successful Response

application/json
  1. response
Example Request
curl -X POST 'https://example.com/v1/portal/media/upload-url' \  -H 'Content-Type: application/json' \  -d '{  "content_type": "string",  "filename": "string"}'
Example Response
{}
POST
/v1/portal/media/{media_id}/confirm

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

media_id*Media Id
Formatuuid

Response Body

Successful Response

application/json
  1. response
Example Request
curl -X POST 'https://example.com/v1/portal/media/497f6eca-6276-4993-bfeb-53cbbbba6f08/confirm'
Example Response
{}

List My Sites

GET
/v1/portal/sites

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Response Body

Successful Response

application/json
  1. response
[index: integer]?
Example Request
curl -X GET 'https://example.com/v1/portal/sites'
Example Response200
[  {    "content_mode": "string",    "created_at": "2019-08-24T14:15:22Z",    "hosting_mode": "string",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "name": "string",    "primary_domain": "string",    "status": "string"  }]

Get Site Analytics

GET
/v1/portal/sites/{config_id}/analytics

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid

Query Parameters

period?Period
Default7

Response Body

Successful Response

application/json
  1. response
daily_views?array<>
device_breakdown?
period_days*Period Days
top_pages*array<>
total_views*Total Views
unique_sessions*Unique Sessions
Example Request
curl -X GET 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics'
Example Response
{  "daily_views": [    {}  ],  "device_breakdown": {},  "period_days": 0,  "top_pages": [    {}  ],  "total_views": 0,  "unique_sessions": 0}

List Site Forms

GET
/v1/portal/sites/{config_id}/forms

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid

Query Parameters

unread_only?Unread Only
Defaultfalse

Response Body

Successful Response

application/json
  1. response
[index: integer]?
Example Request
curl -X GET 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/forms'
Example Response
[  {    "fields": {},    "form_name": "",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "status": "string",    "submitted_at": "2019-08-24T14:15:22Z",    "submitter_email": "string",    "submitter_name": "string"  }]

List Site Pages

GET
/v1/portal/sites/{config_id}/pages

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid

Response Body

Successful Response

application/json
  1. response
[index: integer]?
Example Request
curl -X GET 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/pages'
Example Response
[  {    "content_html": "",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "published": false,    "slug": "string",    "sort_order": 0,    "status": "string",    "title": "string",    "updated_at": "2019-08-24T14:15:22Z"  }]

Create Page

POST
/v1/portal/sites/{config_id}/pages

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid

Request Body

application/json
  1. body
content_html?Content Html
Default""
slug*Slug
Lengthlength <= 100
status?Status
Default"draft"
title*Title
Lengthlength <= 200

Response Body

Successful Response

application/json
  1. response
content_html?Content Html
Default""
id*Id
Formatuuid
published?Published
Defaultfalse
slug*Slug
sort_order*Sort Order
status*Status
title*Title
updated_at*Updated At
Formatdate-time
Example Request
curl -X POST 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/pages' \  -H 'Content-Type: application/json' \  -d '{  "slug": "string",  "title": "string"}'
Example Response
{  "content_html": "",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "published": false,  "slug": "string",  "sort_order": 0,  "status": "string",  "title": "string",  "updated_at": "2019-08-24T14:15:22Z"}

Delete Page

DELETE
/v1/portal/sites/{config_id}/pages/{slug}

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid
slug*Slug

Response Body

Successful Response

Example Request
curl -X DELETE 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/pages/string'
Example Response
Empty

Update Page

PUT
/v1/portal/sites/{config_id}/pages/{slug}

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid
slug*Slug

Request Body

application/json
  1. body
content_html?string|null
published?boolean|null
status?string|null
title?string|null

Response Body

Successful Response

application/json
  1. response
content_html?Content Html
Default""
id*Id
Formatuuid
published?Published
Defaultfalse
slug*Slug
sort_order*Sort Order
status*Status
title*Title
updated_at*Updated At
Formatdate-time
Example Request
curl -X PUT 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/pages/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "content_html": "",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "published": false,  "slug": "string",  "sort_order": 0,  "status": "string",  "title": "string",  "updated_at": "2019-08-24T14:15:22Z"}

List Submissions

GET
/v1/portal/sites/{config_id}/submissions

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid

Query Parameters

offset?Offset
Default0
limit?Limit
Default50
unread_only?Unread Only
Defaultfalse

Response Body

Successful Response

application/json
  1. response
[index: integer]?
Example Request
curl -X GET 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/submissions'
Example Response
[  {    "fields": {},    "form_name": "",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "status": "string",    "submitted_at": "2019-08-24T14:15:22Z",    "submitter_email": "string",    "submitter_name": "string"  }]

Update Submission

PATCH
/v1/portal/sites/{config_id}/submissions/{submission_id}

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Path Parameters

config_id*Config Id
Formatuuid
submission_id*Submission Id
Formatuuid

Request Body

application/json
  1. body
status*Status
Value in"read""unread"

Response Body

Successful Response

application/json
  1. response
Example Request
curl -X PATCH 'https://example.com/v1/portal/sites/497f6eca-6276-4993-bfeb-53cbbbba6f08/submissions/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{  "status": "read"}'
Example Response
{}