For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dashboard
User GuideDeveloper GuidesAPI Reference
User GuideDeveloper GuidesAPI Reference
    • Overview
  • Runtype API
      • POSTCreate product
      • PUTUpdate product
      • POSTAdd capability to product
      • PUTUpdate capability
      • POSTCreate surface
      • PUTUpdate surface
      • POSTAdd item to surface
      • PUTUpdate surface item
      • POSTCreate surface API key
      • POSTCreate schedule for surface
      • PUTUpdate schedule
Dashboard
LogoLogo
Runtype APIProducts

Create surface

POST
/v1/products/:id/surfaces
POST
/v1/products/:id/surfaces
$curl -X POST https://api.runtype.com/v1/products/id/surfaces \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "name": "Customer Support Chat",
> "type": "chat"
>}'
1{
2 "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
3 "productId": "prod-1234567890abcdef",
4 "name": "Customer Support Chat",
5 "type": "chat",
6 "status": "active",
7 "environment": "production",
8 "createdAt": "2024-06-01T12:00:00Z",
9 "updatedAt": "2024-06-01T12:00:00Z",
10 "items": [
11 null
12 ],
13 "keys": [
14 null
15 ],
16 "behavior": null,
17 "inbound": null,
18 "outbound": null
19}
Create a new surface for a product. Checks entitlement limits via Schematic.
Was this page helpful?
Previous

Update surface

Next
Built with

Authentication

AuthorizationBearer
API key or Clerk session token

Path parameters

idstringRequired

Request

This endpoint expects an object.
namestringRequired1-255 characters
typeenumRequired
configany or nullOptional
behaviorany or nullOptional
inboundmap from strings to anyOptional
outboundmap from strings to anyOptional
statusenumOptional
Allowed values:
environmentenumOptionalDefaults to development
Allowed values:

Response

Surface created
idstring
productIdstring
namestring
typestring
statusstring
environmentstring
createdAtstring
updatedAtstring
itemslist of any
keyslist of any
behaviorany or null
inboundany or null
outboundany or null

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error