> ## Documentation Index
> Fetch the complete documentation index at: https://gcore.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Store compiled WASM binary

> Upload a compiled WebAssembly binary to the edge platform.
The binary is automatically analyzed to detect its API type (WASI or Proxy-WASM) and stored for use in applications.
Maximum binary size is 100MB.



## OpenAPI

````yaml /api-reference/services_documented/fastedge_api.yaml post /fastedge/v1/binaries/raw
openapi: 3.1.0
info:
  title: Gcore OpenAPI – FastEdge API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: '2026-05-15T06:37:28.230198+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - description: Application templates
    name: FastEdge Templates
    x-displayName: Templates
  - description: Client-level settings and limits
    name: FastEdge Clients
    x-displayName: Clients
  - description: >-
      Apps are descriptions of edge apps, that reference the binary and may
      contain app-specific settings, such as environment variables.
    name: Apps
    x-displayName: Apps
  - description: >-
      Binaries are WebAssembly executables that are actually executed when app
      is ran.
    name: Binaries
    x-displayName: Binaries
  - description: Statistics of edge app use
    name: Stats
    x-displayName: Stats
  - description: Secret values that can be used in apps
    name: FastEdge Secrets
    x-displayName: Secrets
  - description: Key-value edge storage for apps
    name: Edge Storage
    x-displayName: Edge Storage
paths:
  /fastedge/v1/binaries/raw:
    post:
      tags:
        - Binaries
      summary: Store compiled WASM binary
      description: >-
        Upload a compiled WebAssembly binary to the edge platform.

        The binary is automatically analyzed to detect its API type (WASI or
        Proxy-WASM) and stored for use in applications.

        Maximum binary size is 100MB.
      operationId: storeBinary
      requestBody:
        content:
          application/octet-stream:
            schema:
              format: binary
              type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/binary_short'
          description: Binary stored successfully, returns binary metadata
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Binary count limit exceeded for this client
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Service unavailable
      x-codeSamples:
        - lang: Python
          source: |-
            import os
            from gcore import Gcore

            client = Gcore(
                api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
            )
            binary_short = client.fastedge.binaries.create(
                b"Example data",
            )
            print(binary_short.id)
        - lang: Go
          source: "package main\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n\t\"io\"\n\n\t\"github.com/G-Core/gcore-go\"\n\t\"github.com/G-Core/gcore-go/option\"\n)\n\nfunc main() {\n\tclient := gcore.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tbinaryShort, err := client.Fastedge.Binaries.New(context.TODO(), io.Reader(bytes.NewBuffer([]byte(\"Example data\"))))\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", binaryShort.ID)\n}\n"
components:
  schemas:
    binary_short:
      required:
        - id
        - status
        - api_type
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Binary ID
        status:
          type: integer
          description: |-
            Status code:  
            0 - pending  
            1 - compiled  
            2 - compilation failed (errors available)  
            3 - compilation failed (errors not available)  
            4 - resulting binary exceeded the limit  
            5 - unsupported source language
        unref_since:
          type: string
          description: Not used since (UTC)
        api_type:
          type: string
          description: Wasm API type
        checksum:
          type: string
          description: MD5 hash of the binary
        source:
          type: integer
          description: |-
            Source language:  
            0 - unknown  
            1 - Rust  
            2 - JavaScript  
            3 - Go
          minimum: 0
          maximum: 3
    error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````