# Metadata

***

## Get engines

> List all engines owned by the user

```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":{"developerEngineListResponse":{"type":"object","properties":{"engines":{"type":"array","items":{"$ref":"#/components/schemas/engineEngine"}},"pagination":{"$ref":"#/components/schemas/commonPaginatedResponse"}}},"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."},"commonPaginatedResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of transactions available."},"offset":{"type":"integer","format":"int64","description":"The starting position of the current page of results, starting from 0."},"hasPrevious":{"type":"boolean","description":"A boolean value (True/False) indicating whether there's a previous page of results. False if the current page is the first page."},"hasNext":{"type":"boolean","description":"A boolean value indicating whether there's a next page of results."}},"description":"This section provides information about how the results are divided into pages."},"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":{"get":{"summary":"Get engines","description":"List all engines owned by the user","operationId":"Developer_GetEngines","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/developerEngineListResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/developerEngineListResponse"}}}},"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":"orderBy","description":"Field name to sort apps by (e.g., createdAt).","in":"query","required":false},{"schema":{"type":"integer","format":"int64"},"name":"pagination.limit","description":"Number of rows to return per page.","in":"query","required":false},{"schema":{"type":"integer","format":"int64"},"name":"pagination.offset","description":"Number of rows to skip before starting to collect the result set.","in":"query","required":false},{"schema":{"type":"boolean"},"name":"isPublic","description":"Filter public engines only","in":"query","required":false}],"tags":["Engines"]}}}}
```

***

## Get an engine

> Get an engine by tag

```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/{engineTag}":{"get":{"summary":"Get an engine","description":"Get an engine by tag","operationId":"Developer_GetEngineByTag","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":"engineTag","in":"path","required":true},{"schema":{"type":"string"},"name":"engineId","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"]}}}}
```

***

## Get status of engine

> Get status of engine

```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":{"developerEngineMessage":{"type":"object","properties":{"engineId":{"type":"string"},"engineTag":{"type":"string"},"engineData":{"type":"string","contentEncoding":"base64"},"engineLink":{"type":"string"},"engineStatus":{"type":"string"}}},"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/{engineTag}/status":{"get":{"summary":"Get status of engine","description":"Get status of engine","operationId":"Developer_GetEngineStatus","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/developerEngineMessage"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/developerEngineMessage"}}}},"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":"engineTag","in":"path","required":true},{"schema":{"type":"string"},"name":"engineId","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"]}}}}
```
