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

Update surface

PUT
/v1/products/:id/surfaces/:surfaceId
PUT
/v1/products/:id/surfaces/:surfaceId
$curl -X PUT https://api.runtype.com/v1/products/id/surfaces/surfaceId \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{}'
1{
2 "id": "surf_9f8b7c6d5e4a3b2c1d0e",
3 "productId": "prod_1234567890abcdef",
4 "name": "User Dashboard Surface",
5 "type": "web",
6 "status": "active",
7 "environment": "production",
8 "createdAt": "2024-05-20T10:15:30Z",
9 "updatedAt": "2024-06-10T08:45:00Z",
10 "behavior": null,
11 "inbound": null,
12 "outbound": null
13}

Update an existing surface. Supports partial updates with shallow-merge for behavior.

Was this page helpful?
Previous

Add item to surface

Next
Built with

Authentication

AuthorizationBearer
API key or Clerk session token

Path parameters

idstringRequired
surfaceIdstringRequired

Request

This endpoint expects an object.
namestringOptional1-255 characters
configany or nullOptional
behaviorany or nullOptional
inboundmap from strings to anyOptional
outboundmap from strings to anyOptional
statusenumOptional
Allowed values:
environmentenumOptional
Allowed values:

Response

Surface updated
idstring
productIdstring
namestring
typestring
statusstring
environmentstring
createdAtstring
updatedAtstring
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
422
Unprocessable Entity Error
500
Internal Server Error