# Metadata

***

## Get distributed apps

> List all distributed apps created by the user.\
> \
> Use this endpoint to fetch apps created 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":{"developerAppListResponse":{"type":"object","properties":{"apps":{"type":"array","items":{"$ref":"#/components/schemas/appApp"}},"pagination":{"$ref":"#/components/schemas/commonPaginatedResponse"}}},"appApp":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier assigned to the distributed app (UUID).","readOnly":true},"name":{"type":"string","description":"Human-readable name of the app."},"version":{"type":"string","title":"App version"},"owner":{"type":"string","description":"UUID of the user who owns the app."},"status":{"type":"string","description":"Status of the app, e.g., active, inactive."},"deviceRequirements":{"$ref":"#/components/schemas/commonDeviceRequirements","title":"Device requirements for running the app"},"isPublic":{"type":"boolean","description":"Indicates whether the app is publicly accessible."},"createdAt":{"type":"string","format":"date-time","description":"UTC timestamp when the app was created.","readOnly":true},"updatedAt":{"type":"string","format":"date-time","description":"UTC timestamp when the app was last updated.","readOnly":true},"platform":{"type":"string","description":"Target platform for app execution (e.g., docker)."},"hash":{"type":"string","description":"SHA256 checksum of the uploaded tar archive.","readOnly":true},"link":{"type":"string","description":"Currently contains the link to the app's source code."},"platformConfig":{"$ref":"#/components/schemas/commonPlatformConfig","title":"Platform-specific configuration"},"entrypoint":{"type":"string","description":"Main executable file or script to launch the application (e.g., main.py)."},"revision":{"type":"string","format":"int64","description":"Internal revision tracking number.","readOnly":true},"description":{"type":"string","description":"Optional free-form description of the app."},"userName":{"type":"string","description":"User name of the app owner."}},"description":"Each bytenite job is tagged to an app which describes the type of job being run."},"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."},"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"},"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":{"/apps":{"get":{"summary":"Get distributed apps","description":"List all distributed apps created by the user.\n\nUse this endpoint to fetch apps created by the user.","operationId":"Developer_GetApps","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/developerAppListResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/developerAppListResponse"}}}},"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 apps only","in":"query","required":false}],"tags":["apps"]}}}}
```

***

## Get the latest app details

> Get the latest app de

```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":{"developerAppResponse":{"type":"object","properties":{"app":{"$ref":"#/components/schemas/appApp"}},"title":"Responses"},"appApp":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier assigned to the distributed app (UUID).","readOnly":true},"name":{"type":"string","description":"Human-readable name of the app."},"version":{"type":"string","title":"App version"},"owner":{"type":"string","description":"UUID of the user who owns the app."},"status":{"type":"string","description":"Status of the app, e.g., active, inactive."},"deviceRequirements":{"$ref":"#/components/schemas/commonDeviceRequirements","title":"Device requirements for running the app"},"isPublic":{"type":"boolean","description":"Indicates whether the app is publicly accessible."},"createdAt":{"type":"string","format":"date-time","description":"UTC timestamp when the app was created.","readOnly":true},"updatedAt":{"type":"string","format":"date-time","description":"UTC timestamp when the app was last updated.","readOnly":true},"platform":{"type":"string","description":"Target platform for app execution (e.g., docker)."},"hash":{"type":"string","description":"SHA256 checksum of the uploaded tar archive.","readOnly":true},"link":{"type":"string","description":"Currently contains the link to the app's source code."},"platformConfig":{"$ref":"#/components/schemas/commonPlatformConfig","title":"Platform-specific configuration"},"entrypoint":{"type":"string","description":"Main executable file or script to launch the application (e.g., main.py)."},"revision":{"type":"string","format":"int64","description":"Internal revision tracking number.","readOnly":true},"description":{"type":"string","description":"Optional free-form description of the app."},"userName":{"type":"string","description":"User name of the app owner."}},"description":"Each bytenite job is tagged to an app which describes the type of job being run."},"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."},"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"},"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":{"/apps/{appTag}":{"get":{"summary":"Get the latest app details","description":"Get the latest app de","operationId":"Developer_GetAppByTag","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/developerAppResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/developerAppResponse"}}}},"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":"appTag","description":"Unique tag of the app","in":"path","required":true}],"tags":["apps"]}}}}
```

***

## Get status of app

> Get status of app

```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":{"commonGenericResponse":{"type":"object","properties":{"ok":{"type":"boolean","description":"True if the request was successful."},"requestId":{"type":"string","description":"Internal request identifier for tracing or support."},"message":{"type":"string","description":"Additional message providing status or context."},"error":{"$ref":"#/components/schemas/commonError","description":"Optional error information if the request failed."}}},"commonError":{"type":"object","properties":{"code":{"type":"integer","format":"int64","description":"Error code if the request failed."},"message":{"type":"string","description":"Short description of the error if occurred."},"description":{"type":"string","description":"Full detailed explanation of the error if applicable."}}},"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":{"/apps/{appTag}/status":{"get":{"summary":"Get status of app","description":"Get status of app","operationId":"Developer_GetAppStatus","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/commonGenericResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/commonGenericResponse"}}}},"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":"appTag","description":"Unique tag of the app","in":"path","required":true}],"tags":["apps"]}}}}
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bytenite.com/api-reference/developer-api/apps/metadata.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
