Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/playcanvas:playcanvas-splats-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: PlayCanvas REST Splats API
version: 1.0.0-beta
description: The PlayCanvas REST API lets you automate the PlayCanvas platform — manage project assets, branches and checkpoints (version control), list scenes, export projects, download self-hostable apps, poll asynchronous jobs, and publish Gaussian splats to the SuperSplat platform. The API is currently in beta; endpoints and responses may change. All access is over HTTPS using a Bearer access token generated on your Organization's Account page.
termsOfService: https://playcanvas.com/terms
contact:
name: PlayCanvas Support
url: https://developer.playcanvas.com/user-manual/api/
license:
name: MIT (engine)
url: https://github.com/playcanvas/engine/blob/main/LICENSE
servers:
- url: https://playcanvas.com/api
description: PlayCanvas REST API (beta)
security:
- bearerAuth: []
tags:
- name: Splats
description: SuperSplat Gaussian-splat publishing.
paths:
/upload/signed-url:
post:
tags:
- Splats
operationId: getSplatSignedUrl
summary: Get signed S3 upload URL
description: Request a signed AWS S3 URL to upload a splat file. Step 1 of the SuperSplat publish flow.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- fileName
properties:
fileName:
type: string
example: scene.ply
responses:
'200':
description: Signed URL and S3 key.
content:
application/json:
schema:
type: object
properties:
signedUrl:
type: string
s3Key:
type: string
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/splats/publish:
post:
tags:
- Splats
operationId: publishSplat
summary: Publish splat
description: Start processing of an uploaded splat to publish it to the SuperSplat platform. Step 3 of the publish flow (after uploading to the signed S3 URL).
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- s3Key
- title
- format
properties:
s3Key:
type: string
title:
type: string
description:
type: string
listed:
type: boolean
settings:
type: object
description: SuperSplat Experience Settings (camera
background: null
animTracks).: null
format:
type: string
enum:
- compressed.ply
- sog
responses:
'200':
description: Published splat data.
content:
application/json:
schema:
$ref: '#/components/schemas/Splat'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
responses:
TooManyRequests:
description: Rate limit exceeded.
headers:
X-RateLimit-Limit:
schema:
type: integer
description: Requests allowed per minute.
X-RateLimit-Remaining:
schema:
type: integer
description: Remaining requests this minute.
X-RateLimit-Reset:
schema:
type: integer
description: UTC epoch seconds when the window resets.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Splat:
type: object
properties:
id:
type: string
hash:
type: string
title:
type: string
description:
type: string
format:
type: string
enum:
- compressed.ply
- sog
version:
type: string
release_notes:
type: string
thumbnails:
type: integer
size:
type: integer
views:
type: integer
comments:
type: integer
starred:
type: integer
listed:
type: boolean
Error:
type: object
properties:
error:
type: string
description: The error message.
required:
- error
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Access token generated on the Organization Account page, sent as `Authorization: Bearer {accessToken}`.'