Oxide System/silos API

Silos represent a logical partition of users and resources.

Business capability
Identity & Access Management BC-620.20

Operations 27

GET /v1/system/identity-providers List identity providers for silo #
POST /v1/system/identity-providers/local/users Create user #
DELETE /v1/system/identity-providers/local/users/{user_id} Delete user #
POST /v1/system/identity-providers/local/users/{user_id}/set-password Set or invalidate user's password #
POST /v1/system/identity-providers/saml Create SAML identity provider #
GET /v1/system/identity-providers/saml/{provider} Fetch SAML identity provider #
GET /v1/system/scim/tokens List SCIM tokens #
POST /v1/system/scim/tokens Create SCIM token #
GET /v1/system/scim/tokens/{token_id} Fetch SCIM token #
DELETE /v1/system/scim/tokens/{token_id} Delete SCIM token #
GET /v1/system/silo-quotas List resource quotas for all silos #
GET /v1/system/silos List silos #
POST /v1/system/silos Create silo #
GET /v1/system/silos/{silo} Fetch silo #
DELETE /v1/system/silos/{silo} Delete silo #
GET /v1/system/silos/{silo}/ip-pools List IP pools linked to silo #
GET /v1/system/silos/{silo}/policy Fetch silo IAM policy #
PUT /v1/system/silos/{silo}/policy Update silo IAM policy #
GET /v1/system/silos/{silo}/quotas Fetch resource quotas for silo #
PUT /v1/system/silos/{silo}/quotas Update resource quotas for silo #
GET /v1/system/silos/{silo}/subnet-pools List subnet pools linked to a silo #
GET /v1/system/users List built-in (system) users in silo #
GET /v1/system/users/{user_id} Fetch built-in (system) user #
GET /v1/system/users-builtin List built-in users #
GET /v1/system/users-builtin/{user} Fetch built-in user #
GET /v1/system/utilization/silos List current utilization state for all silos #
GET /v1/system/utilization/silos/{silo} Fetch current utilization for given silo #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/oxide-computer-system-silos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

oxide-computer-system-silos-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Oxide Region System/silos API
  description: API for interacting with the Oxide control plane
  contact:
    url: https://oxide.computer
    email: api@oxide.computer
  version: 2026081901.0.0
tags:
- name: system/silos
  description: Silos represent a logical partition of users and resources.
  externalDocs:
    url: http://docs.oxide.computer/api/system-silos
paths:
  /v1/system/identity-providers:
    get:
      tags:
      - system/silos
      summary: List identity providers for silo
      description: List identity providers for silo by silo name or ID.
      operationId: silo_identity_provider_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: silo
        description: Name or ID of the silo
        schema:
          $ref: '#/components/schemas/NameOrId'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProviderResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required:
        - silo
  /v1/system/identity-providers/local/users:
    post:
      tags:
      - system/silos
      summary: Create user
      description: Users can only be created in Silos with `provision_type` == `Fixed`. Otherwise, Silo users are just-in-time (JIT) provisioned when a user first logs in using an external Identity Provider.
      operationId: local_idp_user_create
      parameters:
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreate'
        required: true
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/identity-providers/local/users/{user_id}:
    delete:
      tags:
      - system/silos
      summary: Delete user
      operationId: local_idp_user_delete
      parameters:
      - in: path
        name: user_id
        description: The user's internal ID
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '204':
          description: successful deletion
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/identity-providers/local/users/{user_id}/set-password:
    post:
      tags:
      - system/silos
      summary: Set or invalidate user's password
      description: Passwords can only be updated for users in Silos with identity mode `LocalOnly`.
      operationId: local_idp_user_set_password
      parameters:
      - in: path
        name: user_id
        description: The user's internal ID
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPassword'
        required: true
      responses:
        '204':
          description: resource updated
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/identity-providers/saml:
    post:
      tags:
      - system/silos
      summary: Create SAML identity provider
      operationId: saml_identity_provider_create
      parameters:
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlIdentityProviderCreate'
        required: true
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdentityProvider'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/identity-providers/saml/{provider}:
    get:
      tags:
      - system/silos
      summary: Fetch SAML identity provider
      operationId: saml_identity_provider_view
      parameters:
      - in: path
        name: provider
        description: Name or ID of the SAML identity provider
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      - in: query
        name: silo
        description: Name or ID of the silo
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdentityProvider'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/scim/tokens:
    get:
      tags:
      - system/silos
      summary: List SCIM tokens
      description: Specify the silo by name or ID using the `silo` query parameter.
      operationId: scim_token_list
      parameters:
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                title: Array_of_ScimClientBearerToken
                type: array
                items:
                  $ref: '#/components/schemas/ScimClientBearerToken'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    post:
      tags:
      - system/silos
      summary: Create SCIM token
      description: Specify the silo by name or ID using the `silo` query parameter. Be sure to save the bearer token in the response. It will not be retrievable later through the token view and list endpoints.
      operationId: scim_token_create
      parameters:
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScimClientBearerTokenValue'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/scim/tokens/{token_id}:
    get:
      tags:
      - system/silos
      summary: Fetch SCIM token
      description: Specify the silo by name or ID using the `silo` query parameter.
      operationId: scim_token_view
      parameters:
      - in: path
        name: token_id
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScimClientBearerToken'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    delete:
      tags:
      - system/silos
      summary: Delete SCIM token
      description: Specify the silo by name or ID using the `silo` query parameter.
      operationId: scim_token_delete
      parameters:
      - in: path
        name: token_id
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '204':
          description: successful deletion
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/silo-quotas:
    get:
      tags:
      - system/silos
      summary: List resource quotas for all silos
      operationId: system_quotas_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/IdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloQuotasResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
  /v1/system/silos:
    get:
      tags:
      - system/silos
      summary: List silos
      description: Lists silos that are discoverable based on the current permissions.
      operationId: silo_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
    post:
      tags:
      - system/silos
      summary: Create silo
      operationId: silo_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiloCreate'
        required: true
      responses:
        '201':
          description: successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Silo'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/silos/{silo}:
    get:
      tags:
      - system/silos
      summary: Fetch silo
      description: Fetch silo by name or ID.
      operationId: silo_view
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Silo'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    delete:
      tags:
      - system/silos
      summary: Delete silo
      description: Delete a silo by name or ID.
      operationId: silo_delete
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '204':
          description: successful deletion
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/silos/{silo}/ip-pools:
    get:
      tags:
      - system/silos
      summary: List IP pools linked to silo
      description: Linked IP pools are available to users in the specified silo. A silo can have at most one default pool. IPs are allocated from the default pool when users ask for one without specifying a pool.
      operationId: silo_ip_pool_list
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloIpPoolResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
  /v1/system/silos/{silo}/policy:
    get:
      tags:
      - system/silos
      summary: Fetch silo IAM policy
      operationId: silo_policy_view
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloRolePolicy'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    put:
      tags:
      - system/silos
      summary: Update silo IAM policy
      operationId: silo_policy_update
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiloRolePolicy'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloRolePolicy'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/silos/{silo}/quotas:
    get:
      tags:
      - system/silos
      summary: Fetch resource quotas for silo
      operationId: silo_quotas_view
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloQuotas'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
    put:
      tags:
      - system/silos
      summary: Update resource quotas for silo
      description: If a quota value is not specified, it will remain unchanged.
      operationId: silo_quotas_update
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiloQuotasUpdate'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloQuotas'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/silos/{silo}/subnet-pools:
    get:
      tags:
      - system/silos
      summary: List subnet pools linked to a silo
      operationId: silo_subnet_pool_list
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloSubnetPoolResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
  /v1/system/users:
    get:
      tags:
      - system/silos
      summary: List built-in (system) users in silo
      operationId: silo_user_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: silo
        description: Name or ID of the silo
        schema:
          $ref: '#/components/schemas/NameOrId'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/IdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required:
        - silo
  /v1/system/users/{user_id}:
    get:
      tags:
      - system/silos
      summary: Fetch built-in (system) user
      operationId: silo_user_view
      parameters:
      - in: path
        name: user_id
        description: The user's internal ID
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/users-builtin:
    get:
      tags:
      - system/silos
      summary: List built-in users
      operationId: user_builtin_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserBuiltinResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
  /v1/system/users-builtin/{user}:
    get:
      tags:
      - system/silos
      summary: Fetch built-in user
      operationId: user_builtin_view
      parameters:
      - in: path
        name: user
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserBuiltin'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
  /v1/system/utilization/silos:
    get:
      tags:
      - system/silos
      summary: List current utilization state for all silos
      operationId: silo_utilization_list
      parameters:
      - in: query
        name: limit
        description: Maximum number of items returned by a single call
        schema:
          type:
          - integer
          - 'null'
          format: uint32
          minimum: 1
      - in: query
        name: page_token
        description: Token returned by previous call to retrieve the subsequent page
        schema:
          type:
          - string
          - 'null'
      - in: query
        name: sort_by
        schema:
          $ref: '#/components/schemas/NameOrIdSortMode'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloUtilizationResultsPage'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      x-dropshot-pagination:
        required: []
  /v1/system/utilization/silos/{silo}:
    get:
      tags:
      - system/silos
      summary: Fetch current utilization for given silo
      operationId: silo_utilization_view
      parameters:
      - in: path
        name: silo
        description: Name or ID of the silo
        required: true
        schema:
          $ref: '#/components/schemas/NameOrId'
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloUtilization'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
components:
  schemas:
    UserResultsPage:
      description: A single page of results
      type: object
      properties:
        items:
          description: list of items on this page of results
          type: array
          items:
            $ref: '#/components/schemas/User'
        next_page:
          description: token used to fetch the next page of results (if any)
          type:
          - string
          - 'null'
      required:
      - items
    SiloRolePolicy:
      description: 'Policy for a particular resource


        Note that the Policy only describes access granted explicitly for this resource.  The policies of parent resources can also cause a user to have access to this resource.'
      type: object
      properties:
        role_assignments:
          description: Roles directly assigned on this resource
          type: array
          items:
            $ref: '#/components/schemas/SiloRoleRoleAssignment'
      required:
      - role_assignments
    FleetRole:
      type: string
      enum:
      - admin
      - collaborator
      - viewer
    SiloIpPoolResultsPage:
      description: A single page of results
      type: object
      properties:
        items:
          description: list of items on this page of results
          type: array
          items:
            $ref: '#/components/schemas/SiloIpPool'
        next_page:
          description: token used to fetch the next page of results (if any)
          type:
          - string
          - 'null'
      required:
      - items
    SiloQuotasCreate:
      description: The amount of provisionable resources for a Silo
      type: object
      properties:
        cpus:
          description: The amount of virtual CPUs available for running instances in the Silo
          type: integer
          format: int64
        memory:
          description: The amount of RAM (in bytes) available for running instances in the Silo
          allOf:
          - $ref: '#/components/schemas/ByteCount'
        storage:
          description: The amount of storage (in bytes) available for disks or snapshots
          allOf:
          - $ref: '#/components/schemas/ByteCount'
      required:
      - cpus
      - memory
      - storage
    NameSortMode:
      description: 'Supported set of sort modes for scanning by name only


        Currently, we only support scanning in ascending order.'
      oneOf:
      - description: Sort in increasing order of "name"
        type: string
        enum:
        - name_ascending
    SamlIdentityProvider:
      description: A SAML identity provider
      type: object
      properties:
        acs_url:
          description: Service provider endpoint where the response will be sent
          type: string
        description:
          description: Human-readable free-form text about a resource
          type: string
        group_attribute_name:
          description: If set, attributes with this name will be considered to denote a user's group membership, where the values will be the group names.
          type:
          - string
          - 'null'
        id:
          description: Unique, immutable, system-controlled identifier for each resource
          type: string
          format: uuid
        idp_entity_id:
          description: IdP's entity id
          type: string
        name:
          description: Unique, mutable, user-controlled identifier for each resource
          allOf:
          - $ref: '#/components/schemas/Name'
        public_cert:
          description: Optional request signing public certificate (base64 encoded der file)
          type:
          - string
          - 'null'
        slo_url:
          description: Service provider endpoint where the idp should send log out requests
          type: string
        sp_client_id:
          description: SP's client id
          type: string
        technical_contact_email:
          description: Customer's technical contact for saml configuration
          type: string
        time_created:
          description: Timestamp when this resource was created
          type: string
          format: date-time
        time_modified:
          description: Timestamp when this resource was last modified
          type: string
          format: date-time
      required:
      - acs_url
      - description
      - id
      - idp_entity_id
      - name
      - slo_url
      - sp_client_id
      - technical_contact_email
      - time_created
      - time_modified
    UserId:
      title: A username for a local-only user
      description: Usernames must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Usernames cannot be a UUID, but they may contain a UUID. They can be at most 63 characters long.
      type: string
      pattern: ^(?![0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)^[a-z]([a-zA-Z0-9-]*[a-zA-Z0-9]+)?$
      minLength: 1
      maxLength: 63
    SiloUtilization:
      description: View of a silo's resource utilization and capacity
      type: object
      properties:
        allocated:
          description: Accounts for the total amount of resources reserved for silos via their quotas.
          allOf:
          - $ref: '#/components/schemas/VirtualResourceCounts'
        provisioned:
          description: 'Accounts for the total resources allocated by the silo, including CPU and memory for running instances and storage for disks and snapshots.


            Note that CPU and memory resources associated with stopped instances are not counted here.'
          allOf:
          - $ref: '#/components/schemas/VirtualResourceCounts'
        silo_id:
          type: string
          format: uuid
        silo_name:
          $ref: '#/components/schemas/Name'
      required:
      - allocated
      - provisioned
      - silo_id
      - silo_name
    SiloQuotas:
      description: A collection of resource counts used to set the virtual capacity of a silo
      type: object
      properties:
        cpus:
          description: Number of virtual CPUs
          type: integer
          format: int64
        memory:
          description: Amount of memory in bytes
          allOf:
          - $ref: '#/components/schemas/ByteCount'
        silo_id:
          type: string
          format: uuid
        storage:
          description: Amount of disk storage in bytes
          allOf:
          - $ref: '#/components/schemas/ByteCount'
      required:
      - cpus
      - memory
      - silo_id
      - storage
    IdentityType:
      description: Describes what kind of identity is described by an id
      type: string
      enum:
      - silo_user
      - silo_group
    NameOrIdSortMode:
      description: Supported set of sort modes for scanning by name or id
      oneOf:
      - description: Sort in increasing order of "name"
        type: string
        enum:
        - name_ascending
      - description: Sort in decreasing order of "name"
        type: string
        enum:
        - name_descending
      - description: Sort in increasing order of "id"
        type: string
        enum:
        - id_ascending
    DerEncodedKeyPair:
      type: object
      properties:
        private_key:
          description: Request signing RSA private key in PKCS#1 format (base64 encoded DER file)
          type: string
        public_cert:
          description: Request signing public certificate (base64 encoded DER file)
          type: string
      required:
      - private_key
      - public_cert
    Password:
      title: A password used to authenticate a user
      description: Passwords may be subject to additional constraints.
      type: string
      maxLength: 512
    IdSortMode:
      description: 'Supported set of sort modes for scanning by id only.


        Currently, we only support scanning in ascendin

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oxide-computer/refs/heads/main/openapi/oxide-computer-system-silos-api-openapi.yml