Crusoe Foundry API

The Foundry API from Crusoe — 16 operation(s) for foundry.

Operations 24

GET /projects/{project_id}/foundry/credentials Lists the credentials in the project. #
POST /projects/{project_id}/foundry/credentials Creates a credential in the project. #
DELETE /projects/{project_id}/foundry/credentials/{id} Deletes a credential from the project. #
GET /projects/{project_id}/foundry/credentials/{id} Returns a single credential in the project. #
PATCH /projects/{project_id}/foundry/credentials/{id} Updates a credential's description in the project. #
GET /projects/{project_id}/foundry/deployed-models Lists the models deployed and available for inference in the project. #
GET /projects/{project_id}/foundry/deployed-models/activity Returns the activity feed for the project's deployed models. #
GET /projects/{project_id}/foundry/deployed-models/progress Returns deployment progress for the project's deployed models. #
GET /projects/{project_id}/foundry/deployed-models/progress/stream Streams deployment progress for the project's deployed models as server-sent events. #
POST /projects/{project_id}/foundry/deployed-models/rename Renames a deployed model's alias. #
POST /projects/{project_id}/foundry/deployed-models/update Updates the HuggingFace source behind a deployed model's alias. #
GET /projects/{project_id}/foundry/loras Lists the LoRA adapter deployments in the project. #
POST /projects/{project_id}/foundry/loras Deploys a LoRA adapter (a fine-tuned model) onto its parent base model in the project. #
DELETE /projects/{project_id}/foundry/loras/{id} Removes a LoRA adapter deployment from the project. #
GET /projects/{project_id}/foundry/loras/{id} Returns a single LoRA adapter deployment in the project. #
GET /projects/{project_id}/foundry/selfserve/deployments Lists the self-serve deployments in the project. #
POST /projects/{project_id}/foundry/selfserve/deployments Creates a self-serve deployment in the project. #
DELETE /projects/{project_id}/foundry/selfserve/deployments/{id} Deletes a self-serve deployment from the project. #
GET /projects/{project_id}/foundry/selfserve/deployments/{id} Returns a single self-serve deployment in the project. #
PATCH /projects/{project_id}/foundry/selfserve/deployments/{id} Updates a self-serve deployment (name and/or replica count) in the project. #
GET /projects/{project_id}/foundry/selfserve/deployments/{id}/activity Returns the activity feed for a self-serve deployment. #
GET /projects/{project_id}/foundry/selfserve/deployments/{id}/progress Returns deployment progress for a self-serve deployment. #
GET /projects/{project_id}/foundry/selfserve/deployments/{id}/progress/stream Streams progress for a self-serve deployment as server-sent events. #
GET /projects/{project_id}/foundry/selfserve/flavors Lists the self-serve deployment flavors available to the project. #

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/crusoe-foundry-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

crusoe-foundry-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Crusoe Foundry API
  version: '1.0'
  description: 'Operations tagged Foundry across 2 of this provider''s published API definitions: crusoe-cloud-api-gateway-v1-openapi.json, crusoe-cloud-api-gateway-v1alpha5-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.cloud.crusoe.ai/v1
tags:
- name: Foundry
paths:
  /projects/{project_id}/foundry/credentials:
    get:
      operationId: listFoundryCredentials
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryCredentialListResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Lists the credentials in the project.
      tags:
      - Foundry
    post:
      operationId: createFoundryCredential
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '201':
          $ref: '#/components/responses/foundryCredentialResponse'
        '400':
          $ref: '#/components/responses/badReqError'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Creates a credential in the project.
      tags:
      - Foundry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCredentialRequest'
  /projects/{project_id}/foundry/credentials/{id}:
    delete:
      operationId: deleteFoundryCredential
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the credential.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/emptyResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Deletes a credential from the project.
      tags:
      - Foundry
    get:
      operationId: getFoundryCredential
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the credential.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      - description: When true, include the secret material in the response.
        in: query
        name: reveal
        x-go-name: Reveal
        schema:
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/foundryCredentialResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Returns a single credential in the project.
      tags:
      - Foundry
    patch:
      operationId: updateFoundryCredential
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the credential.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryCredentialResponse'
        '400':
          $ref: '#/components/responses/badReqError'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Updates a credential's description in the project.
      tags:
      - Foundry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCredentialRequest'
  /projects/{project_id}/foundry/deployed-models:
    get:
      operationId: listFoundryDeployedModels
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryDeployedModelsResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Lists the models deployed and available for inference in the project.
      tags:
      - Foundry
  /projects/{project_id}/foundry/deployed-models/activity:
    get:
      operationId: getFoundryDeployedModelsActivity
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryActivityResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Returns the activity feed for the project's deployed models.
      tags:
      - Foundry
  /projects/{project_id}/foundry/deployed-models/progress:
    get:
      operationId: getFoundryDeployedModelsProgress
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryProgressResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Returns deployment progress for the project's deployed models.
      tags:
      - Foundry
  /projects/{project_id}/foundry/deployed-models/progress/stream:
    get:
      description: The response is a text/event-stream of progress updates.
      operationId: streamFoundryDeployedModelsProgress
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryProgressStreamResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Streams deployment progress for the project's deployed models as server-sent events.
      tags:
      - Foundry
  /projects/{project_id}/foundry/deployed-models/rename:
    post:
      operationId: renameFoundryDeployedModel
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryRenameModelResponse'
        '400':
          $ref: '#/components/responses/badReqError'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Renames a deployed model's alias.
      tags:
      - Foundry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenameModelRequest'
  /projects/{project_id}/foundry/deployed-models/update:
    post:
      operationId: updateFoundryDeployedModel
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '202':
          $ref: '#/components/responses/foundryUpdateModelResponse'
        '400':
          $ref: '#/components/responses/badReqError'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Updates the HuggingFace source behind a deployed model's alias.
      tags:
      - Foundry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateModelRequest'
  /projects/{project_id}/foundry/loras:
    get:
      operationId: listFoundryLoras
      parameters:
      - description: ID of the project that owns the deployments.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryLoraListResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Lists the LoRA adapter deployments in the project.
      tags:
      - Foundry
    post:
      description: 'The deployment is asynchronous: the response returns the deployment record in a

        pending state, which is reconciled to ready once the adapter is loaded.'
      operationId: createFoundryLora
      parameters:
      - description: ID of the project to deploy the adapter in.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '202':
          $ref: '#/components/responses/foundryLoraResponse'
        '400':
          $ref: '#/components/responses/badReqError'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Deploys a LoRA adapter (a fine-tuned model) onto its parent base model in the project.
      tags:
      - Foundry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoadLoraRequest'
  /projects/{project_id}/foundry/loras/{id}:
    delete:
      description: 'The teardown is asynchronous: the adapter is unloaded from the serving cluster in the background.'
      operationId: deleteFoundryLora
      parameters:
      - description: ID of the project that owns the deployment.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the LoRA adapter deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '202':
          $ref: '#/components/responses/emptyResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Removes a LoRA adapter deployment from the project.
      tags:
      - Foundry
    get:
      operationId: getFoundryLora
      parameters:
      - description: ID of the project that owns the deployment.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the LoRA adapter deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryLoraResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Returns a single LoRA adapter deployment in the project.
      tags:
      - Foundry
  /projects/{project_id}/foundry/selfserve/deployments:
    get:
      operationId: listFoundryDeployments
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryDeploymentListResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Lists the self-serve deployments in the project.
      tags:
      - Foundry
    post:
      description: 'Asynchronous: returns the accepted deployment ID and status.'
      operationId: createFoundryDeployment
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '202':
          $ref: '#/components/responses/foundryDeploymentAcceptedResponse'
        '400':
          $ref: '#/components/responses/badReqError'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Creates a self-serve deployment in the project.
      tags:
      - Foundry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeploymentRequest'
  /projects/{project_id}/foundry/selfserve/deployments/{id}:
    delete:
      operationId: deleteFoundryDeployment
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '202':
          $ref: '#/components/responses/foundryDeploymentAcceptedResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Deletes a self-serve deployment from the project.
      tags:
      - Foundry
    get:
      operationId: getFoundryDeployment
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryDeploymentDetailResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Returns a single self-serve deployment in the project.
      tags:
      - Foundry
    patch:
      operationId: updateFoundryDeployment
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '202':
          $ref: '#/components/responses/foundryDeploymentAcceptedResponse'
        '400':
          $ref: '#/components/responses/badReqError'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Updates a self-serve deployment (name and/or replica count) in the project.
      tags:
      - Foundry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDeploymentRequest'
  /projects/{project_id}/foundry/selfserve/deployments/{id}/activity:
    get:
      operationId: getFoundryDeploymentActivity
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryActivityResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Returns the activity feed for a self-serve deployment.
      tags:
      - Foundry
  /projects/{project_id}/foundry/selfserve/deployments/{id}/progress:
    get:
      operationId: getFoundryDeploymentProgress
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryProgressResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Returns deployment progress for a self-serve deployment.
      tags:
      - Foundry
  /projects/{project_id}/foundry/selfserve/deployments/{id}/progress/stream:
    get:
      description: The response is a text/event-stream of progress updates.
      operationId: streamFoundryDeploymentProgress
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      - description: ID of the deployment.
        in: path
        name: id
        required: true
        x-go-name: ID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryProgressStreamResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '404':
          $ref: '#/components/responses/notFoundError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Streams progress for a self-serve deployment as server-sent events.
      tags:
      - Foundry
  /projects/{project_id}/foundry/selfserve/flavors:
    get:
      operationId: listFoundryFlavors
      parameters:
      - description: ID of the project.
        in: path
        name: project_id
        required: true
        x-go-name: ProjectID
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/foundryFlavorsResponse'
        '401':
          $ref: '#/components/responses/authError'
        '403':
          $ref: '#/components/responses/permissionsError'
        '500':
          $ref: '#/components/responses/serverError'
      summary: Lists the self-serve deployment flavors available to the project.
      tags:
      - Foundry
components:
  responses:
    notFoundError:
      description: Error Not Found
      content:
        application/json:
          schema:
            properties:
              code:
                example: '404'
                type: string
                x-go-name: Code
              message:
                example: not_found
                type: string
                x-go-name: Message
            required:
            - code
            - message
            type: object
    foundryCredentialResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CredentialResponse'
    emptyResponse:
      description: Empty Response
    foundryLoraListResponse:
      description: ''
      content:
        application/json:
          schema:
            items:
              $ref: '#/components/schemas/LoRAAdapterDeployment'
            type: array
    foundryDeploymentListResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListDeploymentsResponse'
    foundryProgressStreamResponse:
      description: ''
    foundryDeploymentDetailResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SelfServeDeploymentDetail'
    permissionsError:
      description: Error Permissions
      content:
        application/json:
          schema:
            properties:
              code:
                example: '403'
                type: string
                x-go-name: Code
              message:
                example: unauthorized
                type: string
                x-go-name: Message
            required:
            - code
            - message
            type: object
    foundryLoraResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LoRAAdapterDeployment'
    foundryActivityResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListActivityResponse'
    foundryDeployedModelsResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListModelsResponse'
    serverError:
      description: Error Internal Server
      content:
        application/json:
          schema:
            properties:
              code:
                example: '500'
                type: string
                x-go-name: Code
              message:
                example: internal_error
                type: string
                x-go-name: Message
            required:
            - code
            - message
            type: object
    foundryRenameModelResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RenameModelResponse'
    foundryProgressResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DeploymentProgress'
    badReqError:
      description: Error Bad Request
      content:
        application/json:
          schema:
            properties:
              code:
                example: '400'
                type: string
                x-go-name: Code
              message:
                example: bad_request
                type: string
                x-go-name: Message
            required:
            - code
            - message
            type: object
    foundryCredentialListResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListCredentialsResponse'
    foundryFlavorsResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListFlavorsResponse'
    foundryDeploymentAcceptedResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DeploymentAcceptedResponse'
    foundryUpdateModelResponse:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UpdateModelResponse'
    authError:
      description: Error Authentication Failed
      content:
        application/json:
          schema:
            properties:
              code:
                example: '401'
                type: string
                x-go-name: Code
              message:
                example: bad_credential
                type: string
                x-go-name: Message
            required:
            - code
            - message
            type: object
  schemas:
    SelfServeActivityEvent:
      properties:
        event_type:
          description: Event type identifier.
          type: string
          x-go-name: EventType
        message:
          description: Human-readable event message.
          type: string
          x-go-name: Message
        timestamp:
          description: RFC 3339 timestamp of the event.
          type: string
          x-go-name: Timestamp
        title:
          description: Short event title.
          type: string
          x-go-name: Title
        updated_by:
          description: Identity that triggered the event.
          type: string
          x-go-name: UpdatedBy
      title: SelfServeActivityEvent is a single activity/audit event for a deployment.
      type: object
      x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/docs/v1
    DeploymentProgress:
      properties:
        message:
          description: Human-readable progress message.
          type: string
          x-go-name: Message
        percent:
          description: Completion percentage (0-100).
          format: int32
          type: integer
          x-go-name: Percent
        updated_at:
          description: RFC 3339 timestamp of the last progress update.
          type: string
          x-go-name: UpdatedAt
      title: DeploymentProgress describes the progress of a deployment operation.
      type: object
      x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/docs/v1
    DeployedModelEntry:
      properties:
        architecture:
          $ref: '#/components/schemas/FoundryArchitecture'
        context_length:
          description: Maximum context length supported by the model.
          format: int32
          type: integer
          x-go-name: ContextLength
        description:
          description: Human-readable description of the model.
          type: string
          x-go-name: Description
        icon:
          description: URL of the model icon.
          type: string
          x-go-name: Icon
        id:
          description: Model endpoint ID.
          type: string
          x-go-name: ID
        is_available_to_rolling_deployment:
          description: Whether the model can be used with rolling deployments.
          type: boolean
          x-go-name: IsAvailableToRollingDeployment
        is_billed_by_token:
          description: Whether usage of the model is billed by token.
          type: boolean
          x-go-name: IsBilledByToken
        is_single_replica:
          description: Whether the model runs as a single replica.
          type: boolean
          x-go-name: IsSingleReplica
        model_name:
          description: Underlying (served) model name.
          type: string
          x-go-name: ModelName
        name:
          description: Display name of the model.
          type: string
          x-go-name: Name
        owned_by:
          description: Owner of the model.
          type: string
          x-go-name: OwnedBy
        quantization:
          description: Quantization applied to the model, if any.
          type: string
          x-go-name: Quantization
        region:
          description: Region the model is served in.
          type: string
          x-go-name: Region
        status:
          description: Serving status of the model.
          type: string
          x-go-name: Status
        supported_parameters:
          description: Inference parameters supported by the model.
          items:
            type: string
          type: array
          x-go-name: SupportedParameters
        tags:
          description: Tags associated with the model.
          items:
            type: string
          type: array
          x-go-name: Tags
        type:
          description: Model type (e.g. "base_model", "adapter").
          type: string
          x-go-name: Type
      title: DeployedModelEntry describes a model available for inference in the project.
      type: object
      x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/docs/v1
    CredentialResponse:
      properties:
        created_at:
          description: RFC 3339 creation timestamp.
          type: string
          x-go-name: CreatedAt
        credentials:
          $ref: '#/components/schemas/CredentialSecrets'
        description:
          description: Human-readable description.
          type: string
          x-go-name: Description
        id:
          description: Credential ID.
          type: string
          x-go-name: ID
        name:
          description: Name of the credential.
          type: string
          x-go-name: Name
        org_id:
          description: Owning organization ID.
          type: string
          x-go-name: OrgID
        project_id:
          description: Owning project ID.
          type: string
          x-go-name: ProjectID
        updated_at:
          description: RFC 3339 last-update timestamp.
          type: string
          x-go-name: UpdatedAt
        vendor:
          description: Vendor the credential is for (e.g. "huggingface").
          type: string
          x-go-name: Vendor
      title: CredentialResponse describes a stored credential.
      type: object
      x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/docs/v1
    CreateDeploymentRequest:
      properties:
        deployment_name:
          description: User-chosen deployment name.
          type: string
          x-go-name: DeploymentName
        fine_tuned_model:
          description: The fine-tuned model to deploy.
          type: string
          x-go-name: FineTunedModel
        flavor_id:
          description: ID of the flavor (hardware/model shape) to deploy on.
          type: string
          x-go-name: FlavorID
        replicas:
          description: Number of replicas to run.
          format: int32
          type: integer
          x-go-name: Replicas
      required:
      - deployment_name
   

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/crusoe/refs/heads/main/openapi/crusoe-foundry-api-openapi.yml