HydraCore
API by router

Marketplace

Approve Publisher

Approve a publisher application (admin only).

"You shall not pass!" — Gandalf (unless you're approved)

PUT
/v1/marketplace/admin/publishers/{publisher_id}/approve
AuthorizationBearer <token>

In: header

Path Parameters

publisher_idPublisher Id
Formatuuid

Response Body

curl -X PUT "https://loading/v1/marketplace/admin/publishers/497f6eca-6276-4993-bfeb-53cbbbba6f08/approve"
{
  "created_at": "2019-08-24T14:15:22Z",
  "description": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "name": "string",
  "slug": "string",
  "status": "string",
  "verified_at": "2019-08-24T14:15:22Z",
  "website_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Approve Skill

Approve a submitted skill (admin only).

"I'm the captain now." — Muse, Captain Phillips (about marketplace moderation)

PUT
/v1/marketplace/admin/skills/{skill_id}/approve
AuthorizationBearer <token>

In: header

Path Parameters

skill_idSkill Id
Formatuuid

Response Body

curl -X PUT "https://loading/v1/marketplace/admin/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08/approve"
{
  "avg_rating": 0,
  "billing_type": "string",
  "category": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "current_version": {
    "changelog": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "published_at": "2019-08-24T14:15:22Z",
    "status": "string",
    "version": "string"
  },
  "description": "string",
  "emoji": "string",
  "featured": true,
  "haldir_verified": false,
  "icon_url": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "install_count": 0,
  "item_type": "skill",
  "long_description": "string",
  "mcp_config": {},
  "min_tier": "string",
  "name": "string",
  "price_cents": 0,
  "publisher_id": "83ed281e-4f5b-486d-b81f-73c966460c55",
  "publisher_name": "string",
  "publisher_slug": "string",
  "screenshots": [
    "string"
  ],
  "slug": "string",
  "source_type": "string",
  "status": "string",
  "tags": [
    "string"
  ],
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Reject Skill

Reject a submitted skill (admin only).

PUT
/v1/marketplace/admin/skills/{skill_id}/reject
AuthorizationBearer <token>

In: header

Path Parameters

skill_idSkill Id
Formatuuid

Query Parameters

reason?Reason

Rejection reason

Default""

Response Body

curl -X PUT "https://loading/v1/marketplace/admin/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08/reject?reason="
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Categories

List all skill categories with counts.

"There's no place like home." — Dorothy, Wizard of Oz (about category filtering)

GET
/v1/marketplace/categories

Response Body

curl -X GET "https://loading/v1/marketplace/categories"
[
  {}
]

List Instance Skills

List skills installed on an instance.

GET
/v1/marketplace/instances/{instance_id}/skills
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/marketplace/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/skills" \  -H "X-Api-Key: string"
[
  {
    "expires_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "installed_at": "2019-08-24T14:15:22Z",
    "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
    "skill_emoji": "string",
    "skill_id": "3cd68bb3-8b7e-48be-8232-1b99b5b4b3aa",
    "skill_name": "string",
    "skill_slug": "string",
    "status": "string",
    "version": "string"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Install Skill

One-click install a marketplace skill on an instance.

"Get to the chopper!" — Dutch, Predator (about installing skills quickly)

POST
/v1/marketplace/instances/{instance_id}/skills/install
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
skill_idSkill Id
Formatuuid
version_id?Version Id

Response Body

curl -X POST "https://loading/v1/marketplace/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/skills/install" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{    "skill_id": "3cd68bb3-8b7e-48be-8232-1b99b5b4b3aa"  }'
{
  "expires_at": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "installed_at": "2019-08-24T14:15:22Z",
  "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  "skill_emoji": "string",
  "skill_id": "3cd68bb3-8b7e-48be-8232-1b99b5b4b3aa",
  "skill_name": "string",
  "skill_slug": "string",
  "status": "string",
  "version": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Uninstall Skill

Remove a marketplace skill from an instance.

"Hasta la vista, baby." — T-800, Terminator 2 (about skill removal)

DELETE
/v1/marketplace/instances/{instance_id}/skills/{skill_id}
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid
skill_idSkill Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X DELETE "https://loading/v1/marketplace/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "X-Api-Key: string"
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Create Publisher

Register as a marketplace publisher.

"Listen very carefully, I shall say this only once." — Michelle, 'Allo 'Allo! (about publisher registration)

POST
/v1/marketplace/publishers
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
description?Description
nameName
Length1 <= length <= 200
slugSlug
Length3 <= length <= 80
website_url?Website Url

Response Body

curl -X POST "https://loading/v1/marketplace/publishers" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "slug": "string"  }'
{
  "created_at": "2019-08-24T14:15:22Z",
  "description": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "name": "string",
  "slug": "string",
  "status": "string",
  "verified_at": "2019-08-24T14:15:22Z",
  "website_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get My Publisher

Get the current user's publisher profile (if any).

GET
/v1/marketplace/publishers/me
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/marketplace/publishers/me" \  -H "X-Api-Key: string"
{
  "created_at": "2019-08-24T14:15:22Z",
  "description": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "name": "string",
  "slug": "string",
  "status": "string",
  "verified_at": "2019-08-24T14:15:22Z",
  "website_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Update My Publisher

Update publisher profile.

PUT
/v1/marketplace/publishers/me
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
description?Description
logo_url?Logo Url
name?Name
website_url?Website Url

Response Body

curl -X PUT "https://loading/v1/marketplace/publishers/me" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "created_at": "2019-08-24T14:15:22Z",
  "description": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "name": "string",
  "slug": "string",
  "status": "string",
  "verified_at": "2019-08-24T14:15:22Z",
  "website_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Publisher

Get a public publisher profile by slug.

"You talking to me?" — Travis Bickle, Taxi Driver (about publisher slugs)

GET
/v1/marketplace/publishers/{slug}

Path Parameters

slugSlug

Response Body

curl -X GET "https://loading/v1/marketplace/publishers/string"
{
  "created_at": "2019-08-24T14:15:22Z",
  "description": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "logo_url": "string",
  "name": "string",
  "slug": "string",
  "status": "string",
  "verified_at": "2019-08-24T14:15:22Z",
  "website_url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Reseller Pricing

List reseller pricing overrides for the current tenant.

"Show me the money!" — Jerry Maguire

GET
/v1/marketplace/reseller/pricing
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/marketplace/reseller/pricing" \  -H "X-Api-Key: string"
[
  {
    "created_at": "2019-08-24T14:15:22Z",
    "enabled": true,
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "markup_cents": 0,
    "markup_percent": 0,
    "skill_id": "3cd68bb3-8b7e-48be-8232-1b99b5b4b3aa",
    "skill_name": "string"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Set Reseller Pricing

Set reseller markup for a specific skill.

"Greed, for lack of a better word, is good." — Gordon Gekko, Wall Street (about markup configuration)

PUT
/v1/marketplace/reseller/pricing
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
enabled?Enabled
Defaulttrue
markup_cents?Markup Cents
Default0
Range0 <= value
markup_percent?Markup Percent
skill_idSkill Id
Formatuuid

Response Body

curl -X PUT "https://loading/v1/marketplace/reseller/pricing" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{    "skill_id": "3cd68bb3-8b7e-48be-8232-1b99b5b4b3aa"  }'
{
  "created_at": "2019-08-24T14:15:22Z",
  "enabled": true,
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "markup_cents": 0,
  "markup_percent": 0,
  "skill_id": "3cd68bb3-8b7e-48be-8232-1b99b5b4b3aa",
  "skill_name": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Delete Reseller Pricing

Remove reseller pricing override, reverting to publisher's price.

DELETE
/v1/marketplace/reseller/pricing/{skill_id}
AuthorizationBearer <token>

In: header

Path Parameters

skill_idSkill Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X DELETE "https://loading/v1/marketplace/reseller/pricing/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "X-Api-Key: string"
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Discover Skills

Browse approved marketplace skills.

"I see dead skills." — Cole Sear, The Sixth Sense (about deprecated ones)

GET
/v1/marketplace/skills

Query Parameters

category?Category

Filter by category

item_type?Item Type

Filter: skill, mcp_server

search?Search

Search name/description/tags

billing_type?Billing Type

Filter: free, one_time, monthly, yearly

featured?Featured

Filter featured only

sort?Sort

Sort: popular, newest, price_asc, price_desc

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

Response Body

curl -X GET "https://loading/v1/marketplace/skills?category=string&item_type=string&search=string&billing_type=string&featured=true&sort=popular&limit=50&offset=0"
[
  {
    "avg_rating": 0,
    "billing_type": "string",
    "category": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "current_version": {
      "changelog": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "published_at": "2019-08-24T14:15:22Z",
      "status": "string",
      "version": "string"
    },
    "description": "string",
    "emoji": "string",
    "featured": true,
    "haldir_verified": false,
    "icon_url": "string",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "install_count": 0,
    "item_type": "skill",
    "long_description": "string",
    "mcp_config": {},
    "min_tier": "string",
    "name": "string",
    "price_cents": 0,
    "publisher_id": "83ed281e-4f5b-486d-b81f-73c966460c55",
    "publisher_name": "string",
    "publisher_slug": "string",
    "screenshots": [
      "string"
    ],
    "slug": "string",
    "source_type": "string",
    "status": "string",
    "tags": [
      "string"
    ],
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List My Skills

List skills belonging to the current publisher.

GET
/v1/marketplace/skills/mine
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/marketplace/skills/mine" \  -H "X-Api-Key: string"
[
  {
    "avg_rating": 0,
    "billing_type": "string",
    "category": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "current_version": {
      "changelog": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "published_at": "2019-08-24T14:15:22Z",
      "status": "string",
      "version": "string"
    },
    "description": "string",
    "emoji": "string",
    "featured": true,
    "haldir_verified": false,
    "icon_url": "string",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "install_count": 0,
    "item_type": "skill",
    "long_description": "string",
    "mcp_config": {},
    "min_tier": "string",
    "name": "string",
    "price_cents": 0,
    "publisher_id": "83ed281e-4f5b-486d-b81f-73c966460c55",
    "publisher_name": "string",
    "publisher_slug": "string",
    "screenshots": [
      "string"
    ],
    "slug": "string",
    "source_type": "string",
    "status": "string",
    "tags": [
      "string"
    ],
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Submit Skill

Submit a new skill to the marketplace.

"If you build it, they will come." — Shoeless Joe, Field of Dreams

POST
/v1/marketplace/skills/submit
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
billing_type?Billing Type
Default"free"
bundle_hash?Bundle Hash

Pre-computed composite SHA-256 for non-builtin skills. Builtin skills are hashed automatically from disk.

category?Category
Default"general"
Lengthlength <= 50
changelog?Changelog
description?Description
emoji?Emoji
Default"🔧"
Lengthlength <= 10
long_description?Long Description
min_tier?Min Tier
nameName
Length1 <= length <= 200
price_cents?Price Cents
Default0
Range0 <= value
slugSlug
Length3 <= length <= 100
source_ref?Source Ref
source_type?Source Type
Default"uploaded"
tags?Tags
version?Version
Default"1.0.0"
Lengthlength <= 30

Response Body

curl -X POST "https://loading/v1/marketplace/skills/submit" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "slug": "string"  }'
{
  "avg_rating": 0,
  "billing_type": "string",
  "category": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "current_version": {
    "changelog": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "published_at": "2019-08-24T14:15:22Z",
    "status": "string",
    "version": "string"
  },
  "description": "string",
  "emoji": "string",
  "featured": true,
  "haldir_verified": false,
  "icon_url": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "install_count": 0,
  "item_type": "skill",
  "long_description": "string",
  "mcp_config": {},
  "min_tier": "string",
  "name": "string",
  "price_cents": 0,
  "publisher_id": "83ed281e-4f5b-486d-b81f-73c966460c55",
  "publisher_name": "string",
  "publisher_slug": "string",
  "screenshots": [
    "string"
  ],
  "slug": "string",
  "source_type": "string",
  "status": "string",
  "tags": [
    "string"
  ],
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Skill

Get a single marketplace skill by ID. Public catalog — only approved skills are exposed. Submitted/draft/rejected skills must use the publisher-owned views (/skills/mine or _get_owned_skill).

GET
/v1/marketplace/skills/{skill_id}

Path Parameters

skill_idSkill Id
Formatuuid

Response Body

curl -X GET "https://loading/v1/marketplace/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "avg_rating": 0,
  "billing_type": "string",
  "category": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "current_version": {
    "changelog": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "published_at": "2019-08-24T14:15:22Z",
    "status": "string",
    "version": "string"
  },
  "description": "string",
  "emoji": "string",
  "featured": true,
  "haldir_verified": false,
  "icon_url": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "install_count": 0,
  "item_type": "skill",
  "long_description": "string",
  "mcp_config": {},
  "min_tier": "string",
  "name": "string",
  "price_cents": 0,
  "publisher_id": "83ed281e-4f5b-486d-b81f-73c966460c55",
  "publisher_name": "string",
  "publisher_slug": "string",
  "screenshots": [
    "string"
  ],
  "slug": "string",
  "source_type": "string",
  "status": "string",
  "tags": [
    "string"
  ],
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Update Skill

Update a skill you own.

PUT
/v1/marketplace/skills/{skill_id}
AuthorizationBearer <token>

In: header

Path Parameters

skill_idSkill Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
billing_type?Billing Type
category?Category
description?Description
emoji?Emoji
long_description?Long Description
min_tier?Min Tier
name?Name
price_cents?Price Cents
tags?Tags

Response Body

curl -X PUT "https://loading/v1/marketplace/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "avg_rating": 0,
  "billing_type": "string",
  "category": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "current_version": {
    "changelog": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "published_at": "2019-08-24T14:15:22Z",
    "status": "string",
    "version": "string"
  },
  "description": "string",
  "emoji": "string",
  "featured": true,
  "haldir_verified": false,
  "icon_url": "string",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "install_count": 0,
  "item_type": "skill",
  "long_description": "string",
  "mcp_config": {},
  "min_tier": "string",
  "name": "string",
  "price_cents": 0,
  "publisher_id": "83ed281e-4f5b-486d-b81f-73c966460c55",
  "publisher_name": "string",
  "publisher_slug": "string",
  "screenshots": [
    "string"
  ],
  "slug": "string",
  "source_type": "string",
  "status": "string",
  "tags": [
    "string"
  ],
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Skill Versions

List published versions of a skill. Public catalog — parent skill must be approved, otherwise versions for a private/submitted skill would leak to anyone who knows the skill ID.

GET
/v1/marketplace/skills/{skill_id}/versions

Path Parameters

skill_idSkill Id
Formatuuid

Response Body

curl -X GET "https://loading/v1/marketplace/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08/versions"
[
  {
    "changelog": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "published_at": "2019-08-24T14:15:22Z",
    "status": "string",
    "version": "string"
  }
]
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Create Skill Version

Publish a new version of a skill.

"Sequel? We're doing a sequel?" — Every 80s action hero

POST
/v1/marketplace/skills/{skill_id}/versions
AuthorizationBearer <token>

In: header

Path Parameters

skill_idSkill Id
Formatuuid

Query Parameters

versionVersion
Length1 <= length <= 30
changelog?Changelog
bundle_hash?Bundle Hash

Pre-computed composite SHA-256 for non-builtin skills.

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X POST "https://loading/v1/marketplace/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08/versions?version=string&changelog=string&bundle_hash=string" \  -H "X-Api-Key: string"
{
  "changelog": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "published_at": "2019-08-24T14:15:22Z",
  "status": "string",
  "version": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}