> For the complete documentation index, see [llms.txt](https://docs.bytenite.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bytenite.com/api-reference/developer-api/engines/push.md).

# Push

***

## Upload an engine

> Upload a engine to the server

```json
{"openapi":"3.1.1","info":{"title":"ByteNite developers API","version":"0.1"},"tags":[],"servers":[{"url":"https://api.bytenite.com/v1/dev"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"engineEngine":{"type":"object","properties":{"id":{"type":"string","title":"Unique UUID identifier for the engine"},"name":{"type":"string","title":"Name of the engine"},"version":{"type":"string","title":"Version string (e.g. \"1.2\")"},"owner":{"type":"string","title":"Owner identifier"},"type":{"type":"string","title":"Optional type of engine (e.g. \"partitioner\", \"assembler\")"},"status":{"type":"string","title":"Status of the engine (e.g. \"inactive\", \"active\")"},"description":{"type":"string","title":"Description of the engine"},"hash":{"type":"string","title":"Optional content hash for engine integrity validation"},"link":{"type":"string","title":"Link to download or access the engine"},"entrypoint":{"type":"string","title":"Entrypoint file or script (default: \"main.py\")"},"revision":{"type":"integer","format":"int32","title":"Revision number for update tracking"},"createdAt":{"type":"string","format":"date-time","title":"Timestamp of creation (ISO 8601 format)","readOnly":true},"updatedAt":{"type":"string","format":"date-time","title":"Timestamp of last update (ISO 8601 format)","readOnly":true},"deletedAt":{"type":"string","format":"date-time","title":"Timestamp of soft deletion, if applicable","readOnly":true},"platform":{"type":"string","description":"Platform identifier where the engine runs."},"platformConfig":{"$ref":"#/components/schemas/commonPlatformConfig","title":"Configuration specific to the platform"},"deviceRequirements":{"$ref":"#/components/schemas/commonDeviceRequirements","title":"Minimum hardware requirements"},"isPublic":{"type":"boolean","description":"Indicates whether the engine is publicly accessible."},"userName":{"type":"string","description":"User name of the engine owner."}},"title":"Represents custom partitioner and assembler engine and its metadata"},"commonPlatformConfig":{"type":"object","properties":{"container":{"type":"string","description":"Container image identifier."},"privateImage":{"type":"boolean","description":"Indicates if the container image is from a private registry."},"username":{"type":"string","description":"Username for accessing a private container registry (if applicable)."},"token":{"type":"string","description":"Authentication token for accessing a private container registry (if applicable)."},"secrets":{"type":"array","items":{"type":"string"},"description":"List of secret names to be injected into the container as environment variables."}},"title":"PlatformConfig represents configuration for a platform"},"commonDeviceRequirements":{"type":"object","properties":{"minCpu":{"type":"number","format":"float","description":"Minimum number of vCPUs required to run the app/engine."},"minMemory":{"type":"number","format":"float","description":"Minimum amount of RAM (GB) required to run the app."},"gpu":{"type":"array","items":{"type":"string"},"description":"Array of GPU models requested to run the app/engine, in order of preference. Use the official GPU identifiers provided by the /wallet/rates endpoint. Leave blank if no GPU is required."}},"description":"DeviceRequirements represents the minimum hardware requirements for running the app/engine."},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}},"paths":{"/engines":{"post":{"summary":"Upload an engine","description":"Upload a engine to the server","operationId":"Developer_UploadEngine","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/engineEngine"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/engineEngine"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"parameters":[{"schema":{"type":"string"},"name":"engineId","in":"query","required":false},{"schema":{"type":"string"},"name":"engineTag","in":"query","required":false},{"schema":{"type":"string","contentEncoding":"base64"},"name":"engineData","in":"query","required":false},{"schema":{"type":"string"},"name":"engineLink","in":"query","required":false},{"schema":{"type":"string"},"name":"engineStatus","in":"query","required":false}],"tags":["Engines"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.bytenite.com/api-reference/developer-api/engines/push.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
