---
title: "Ordering capability negotiation"
method: GET
path: "/v1/apps/capability"
tags: ["public", "apps"]
---

# Ordering capability negotiation

`GET /v1/apps/capability`

## Request

- Base URL: `https://api.vozora.io`
- URL: `https://api.vozora.io/v1/apps/capability`
- Auth: API key in header `Authorization`

## Response `200`

OK

- MarketplaceOrderingCapability
  - `architecture` string: Architecture is the one architecture this deployment's catalogue is published for. It is configuration, never a request parameter.
  - `marketplace_ordering_enabled` boolean: MarketplaceOrderingEnabled is the single boolean a client branches on. It is true exactly when 2 appears in OrderEnvelopeVersions.
  - `order_envelope_versions` integer[]: OrderEnvelopeVersions are the request envelopes this deployment accepts right now, ascending. Version 1 (the legacy os_image envelope) is retired and never advertised; a closed capability therefore offers NO version — an empty list, never null — and a client with nothing to negotiate must not fall back to a legacy order (PlaceOrder refuses it with order_envelope_retired).
  - `reasons` MarketplaceReason[]: Reasons explain a CLOSED capability. It is [] — never null — when open.
    - `code` string
    - `message` string
  - `schema_profiles` string[]: SchemaProfiles are the offering input-schema profiles this build can interpret. It states what the BUILD implements, so it does not vary with readiness — a client can rely on it to decide whether to render a form at all.

## Other responses

- `401`: invalid or missing API key
- `403`: the key lacks catalog:read

---

[API](https://skmtc.dev/vozora/apis/vozora-api.md) · [All operations](https://skmtc.dev/vozora/apis/vozora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vozora/apis/vozora-api/revisions/56f15734fc5a?raw)
