Wasmer website screenshot

Wasmer

Wasmer is a WebAssembly runtime, package registry, and edge platform. The Wasmer Registry stores and distributes WebAssembly packages and namespaces, Wasmer Edge deploys those packages as auto-scaling apps, and the wasmer CLI and wasmer.sh interact with the platform through a single public GraphQL API at registry.wasmer.io/graphql.

5 APIs 0 Features
WebAssemblyWasmRegistryEdgeRuntime

APIs

Wasmer Registry GraphQL API

The single public GraphQL API behind wasmer.io, the wasmer CLI, and wasmer.sh. A POST /graphql endpoint with optional Bearer (wap_*) auth that spans the Registry, Edge apps, nam...

Wasmer Packages and Namespaces API

GraphQL queries and mutations over WebAssembly packages, their versions and distributions, and the namespaces (users and organizations) that own them - getPackage, getPackageVer...

Wasmer Apps and Edge Deployments API

GraphQL surface for Wasmer Edge - deploy WebAssembly packages as auto-scaling apps with versioned deployments, custom domains, and rollback via getDeployApp, getAppByGlobalId, a...

Wasmer Users and Auth API

Identity and account resolvers - the viewer query for the authenticated user, getUser, and namespace ownership, authenticated with a wap_* Bearer token created via wasmer login.

Wasmer CLI

The wasmer command-line client (wasmer login, publish, deploy, run, ssh) - a first-class consumer of the Registry GraphQL API that wraps publish and Edge deployment workflows.

Collections

GraphQL

Wasmer Registry GraphQL API

Representative GraphQL schema for the [Wasmer](https://wasmer.io) Registry and Edge

GRAPHQL

Pricing Plans

Wasmer Plans Pricing

3 plans

PLANS

Rate Limits

Wasmer Rate Limits

5 limits

RATE LIMITS

FinOps

Wasmer Finops

FINOPS

Resources

🔗
VulnerabilityDisclosure
VulnerabilityDisclosure
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Wasmer Registry GraphQL API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{wasmerToken}}'
items:
- info:
    name: Registry
    type: folder
  items:
  - info:
      name: Get Package Version
      type: http
    http:
      method: POST
      url: https://registry.wasmer.io/graphql
      body:
        type: json
        data: '{"query":"query { getPackageVersion(name: \"python\") { version repository homepage distribution { downloadUrl
          size } } }"}'
    docs: Resolve a single package version and its distribution download URL.
  - info:
      name: Get Package
      type: http
    http:
      method: POST
      url: https://registry.wasmer.io/graphql
      body:
        type: json
        data: '{"query":"query GetPackage($name: String!) { getPackage(name: $name) { name namespace private versions { version
          createdAt distribution { downloadUrl size } } } }","variables":{"name":"wasmer/winterjs"}}'
    docs: Resolve a package and all of its versions by fully-qualified name.
  - info:
      name: Get Interface Version (WASI)
      type: http
    http:
      method: POST
      url: https://registry.wasmer.io/graphql
      body:
        type: json
        data: '{"query":"query { getInterfaceVersion(name: \"wasi\", version: \"latest\") { interface { name description }
          packageVersions { edges { node { version package { name } distribution { downloadUrl } } } } } }"}'
    docs: Resolve packages implementing a given interface, such as WASI.
  - info:
      name: Publish Package
      type: http
    http:
      method: POST
      url: https://registry.wasmer.io/graphql
      body:
        type: json
        data: '{"query":"mutation PublishPackage($input: PublishPackageInput!) { publishPackage(input: $input) { success packageVersion
          { version package { name } } } }","variables":{"input":{"name":"my-namespace/my-package","version":"0.1.0","manifest":{},"file":"<signed-upload-url>"}}}'
    docs: Publish a package version to the registry (requires a wap_* Bearer token).
- info:
    name: Edge Apps
    type: folder
  items:
  - info:
      name: Get Deploy App
      type: http
    http:
      method: POST
      url: https://registry.wasmer.io/graphql
      body:
        type: json
        data: '{"query":"query GetDeployApp($owner: String!, $name: String!) { getDeployApp(owner: $owner, name: $name) {
          id name url activeVersion { id version url createdAt } } }","variables":{"owner":"wasmer","name":"my-app"}}'
    docs: Resolve a Wasmer Edge app and its active deployment version.
  - info:
      name: Deploy App
      type: http
    http:
      method: POST
      url: https://registry.wasmer.io/graphql
      body:
        type: json
        data: '{"query":"mutation DeployApp($input: DeployAppInput!) { deployApp(input: $input) { deployAppVersion { id url
          app { name } } } }","variables":{"input":{"name":"my-app","owner":"wasmer","config":{"kind":"wasmer.io/App.v0","name":"my-app","package":"wasmer/winterjs"}}}}'
    docs: Deploy a package as an app to Wasmer Edge (requires a wap_* Bearer token).
- info:
    name: Users & Auth
    type: folder
  items:
  - info:
      name: Viewer
      type: http
    http:
      method: POST
      url: https://registry.wasmer.io/graphql
      body:
        type: json
        data: '{"query":"query { viewer { username email namespaces { edges { node { name } } } } }"}'
    docs: Resolve the currently authenticated user via a wap_* Bearer token.