ADRO Les API

The les API from ADRO — 21 operation(s) for les.

Operations 24

POST /les/autoconfig/ Les autoconfig create #
GET /les/autoconfig/{uid}/ Les autoconfig retrieve #
POST /les/autoconfig/{uid}/upload/abort/ Les autoconfig upload abort create #
POST /les/autoconfig/{uid}/upload/complete/ Les autoconfig upload complete create #
POST /les/autoconfig/upload/init/ Les autoconfig upload init create #
GET /les/capabilities/ Les capabilities retrieve #
GET /les/runs/ Les runs retrieve #
POST /les/runs/ Les runs create #
GET /les/runs/{uid}/ Les runs retrieve 2 #
POST /les/runs/{uid}/cancel/ Les runs cancel create #
POST /les/runs/{uid}/delete/ Les runs delete create #
GET /les/runs/{uid}/deletion-preview/ Les runs deletion preview retrieve #
GET /les/runs/{uid}/figures/{name}/ Les runs figures retrieve #
GET /les/runs/{uid}/files/{kind}/ Les runs files retrieve #
GET /les/runs/{uid}/flow-visualization/ Les runs flow visualization retrieve #
POST /les/runs/{uid}/flow-visualization/ Les runs flow visualization create #
GET /les/runs/{uid}/flow-visualization/image/ Les runs flow visualization image retrieve #
GET /les/runs/{uid}/flow-visualization/image/{view_id}/ Les runs flow visualization image retrieve 2 #
POST /les/runs/{uid}/purge-now/ Les runs purge now create #
POST /les/runs/{uid}/restore/ Les runs restore create #
GET /les/runs/{uid}/viewer/ Les runs viewer retrieve #
POST /les/uploads/{uid}/abort/ Les uploads abort create #
POST /les/uploads/{uid}/complete/ Les uploads complete create #
POST /les/uploads/init/ Les uploads init create #

Documentation

Specifications

Schemas & Data

Other Resources

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/adro1b33:adro1b33-les-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

adro1b33-les-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: aox-django-backend Les API
  version: 1.0.0
tags:
- name: les
paths:
  /les/autoconfig/:
    post:
      operationId: les_autoconfig_create
      description: 'STL 을 한 번 올려 자동설정 제안을 요청한다.


        형상 분석(trimesh)은 500MB 입력에서 수십 초가 걸리므로 여기서는 S3 스테이징만

        하고 Celery 로 넘긴다. 프론트는 uid 로 폴링한다.'
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les autoconfig create
      x-summary-source: derived
  /les/autoconfig/{uid}/:
    get:
      operationId: les_autoconfig_retrieve
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les autoconfig retrieve
      x-summary-source: derived
  /les/autoconfig/{uid}/upload/abort/:
    post:
      operationId: les_autoconfig_upload_abort_create
      description: 중단된 업로드의 파트를 지운다 — 두면 스토리지 비용으로 남는다.
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les autoconfig upload abort create
      x-summary-source: derived
  /les/autoconfig/{uid}/upload/complete/:
    post:
      operationId: les_autoconfig_upload_complete_create
      description: 파트 업로드가 끝나면 객체를 확정하고 분석을 큐에 넣는다.
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LesAutoconfigUploadComplete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LesAutoconfigUploadComplete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LesAutoconfigUploadComplete'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LesAutoconfig'
          description: ''
      summary: Les autoconfig upload complete create
      x-summary-source: derived
  /les/autoconfig/upload/init/:
    post:
      operationId: les_autoconfig_upload_init_create
      description: '자동설정 STL 의 멀티파트 업로드를 연다.


        파일은 Django 를 통과하지 않는다 — 브라우저가 프리사인 URL 로 S3 에 직접

        병렬 전송한다. 500MB STL 이 앱 서버를 통째로 지나가면 업로드 하나에 수 분이

        걸리고, 그 동안 워커는 아무것도 할 수 없다.'
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les autoconfig upload init create
      x-summary-source: derived
  /les/capabilities/:
    get:
      operationId: les_capabilities_retrieve
      tags:
      - les
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LesCapabilities'
          description: ''
      summary: Les capabilities retrieve
      x-summary-source: derived
  /les/runs/:
    get:
      operationId: les_runs_retrieve
      tags:
      - les
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LesRunListResponse'
          description: ''
      summary: Les runs retrieve
      x-summary-source: derived
    post:
      operationId: les_runs_create
      tags:
      - les
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LesRunSubmission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LesRunSubmission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LesRunSubmission'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LesRun'
          description: ''
      summary: Les runs create
      x-summary-source: derived
  /les/runs/{uid}/:
    get:
      operationId: les_runs_retrieve_2
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LesRun'
          description: ''
      summary: Les runs retrieve 2
      x-summary-source: derived
  /les/runs/{uid}/cancel/:
    post:
      operationId: les_runs_cancel_create
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs cancel create
      x-summary-source: derived
  /les/runs/{uid}/delete/:
    post:
      operationId: les_runs_delete_create
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs delete create
      x-summary-source: derived
  /les/runs/{uid}/deletion-preview/:
    get:
      operationId: les_runs_deletion_preview_retrieve
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs deletion preview retrieve
      x-summary-source: derived
  /les/runs/{uid}/figures/{name}/:
    get:
      operationId: les_runs_figures_retrieve
      parameters:
      - in: path
        name: name
        schema:
          type: string
        required: true
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs figures retrieve
      x-summary-source: derived
  /les/runs/{uid}/files/{kind}/:
    get:
      operationId: les_runs_files_retrieve
      parameters:
      - in: path
        name: kind
        schema:
          type: string
        required: true
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs files retrieve
      x-summary-source: derived
  /les/runs/{uid}/flow-visualization/:
    get:
      operationId: les_runs_flow_visualization_retrieve
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs flow visualization retrieve
      x-summary-source: derived
    post:
      operationId: les_runs_flow_visualization_create
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs flow visualization create
      x-summary-source: derived
  /les/runs/{uid}/flow-visualization/image/:
    get:
      operationId: les_runs_flow_visualization_image_retrieve
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs flow visualization image retrieve
      x-summary-source: derived
  /les/runs/{uid}/flow-visualization/image/{view_id}/:
    get:
      operationId: les_runs_flow_visualization_image_retrieve_2
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      - in: path
        name: view_id
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs flow visualization image retrieve 2
      x-summary-source: derived
  /les/runs/{uid}/purge-now/:
    post:
      operationId: les_runs_purge_now_create
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs purge now create
      x-summary-source: derived
  /les/runs/{uid}/restore/:
    post:
      operationId: les_runs_restore_create
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs restore create
      x-summary-source: derived
  /les/runs/{uid}/viewer/:
    get:
      operationId: les_runs_viewer_retrieve
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les runs viewer retrieve
      x-summary-source: derived
  /les/uploads/{uid}/abort/:
    post:
      operationId: les_uploads_abort_create
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les uploads abort create
      x-summary-source: derived
  /les/uploads/{uid}/complete/:
    post:
      operationId: les_uploads_complete_create
      parameters:
      - in: path
        name: uid
        schema:
          type: string
        required: true
      tags:
      - les
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LesInputUploadComplete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LesInputUploadComplete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LesInputUploadComplete'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LesInputUpload'
          description: ''
      summary: Les uploads complete create
      x-summary-source: derived
  /les/uploads/init/:
    post:
      operationId: les_uploads_init_create
      description: Open an ordinary LES input upload without proxying STL bytes.
      tags:
      - les
      responses:
        '200':
          description: No response body
      summary: Les uploads init create
      x-summary-source: derived
components:
  schemas:
    LesRunListResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/LesRunList'
      required:
      - results
    LesInputUploadComplete:
      type: object
      properties:
        uploadId:
          type: string
          maxLength: 512
        completedParts:
          type: array
          items:
            $ref: '#/components/schemas/_CompletedPart'
        reservationId:
          type: string
          format: uuid
      required:
      - completedParts
      - reservationId
      - uploadId
    LesRunSubmission:
      type: object
      description: Schema for the transport handles resolved before input validation.
      properties:
        wheels:
          enum:
          - unknown
          - open_spokes
          - sealed
          type: string
          description: '* `unknown` - Unknown

            * `open_spokes` - Open spokes

            * `sealed` - Sealed in uploaded geometry'
          x-spec-enum-id: 82934dcead1a8ccf
          default: unknown
        name:
          type: string
          maxLength: 128
        speedKmh:
          type: number
          format: double
          maximum: 400.0
          minimum: 1.0
          default: 120.0
        groundClearanceMm:
          type: number
          format: double
          maximum: 500.0
          minimum: 0.0
          default: 30.0
        yawDeg:
          type: number
          format: double
          maximum: 30.0
          minimum: -30.0
          default: 0.0
        grade:
          enum:
          - smoke
          - standard
          - precision
          type: string
          description: '* `smoke` - Smoke (wiring test)

            * `standard` - Standard (3-level)

            * `precision` - Precision (versioned profile)'
          x-spec-enum-id: da381bb7cd0f6163
          default: precision
        placement:
          enum:
          - auto
          - ground
          - free
          type: string
          description: '* `auto` - Auto (runner decides)

            * `ground` - Ground (road vehicle)

            * `free` - Free flight'
          x-spec-enum-id: 0b78f8fee8b999b7
          default: auto
        movieFrames:
          type: integer
          maximum: 3000
          minimum: 0
          default: 480
        sealWheels:
          enum:
          - auto
          - 'on'
          - 'off'
          type: string
          description: '* `auto` - Auto (runner decides)

            * `on` - On

            * `off` - Off'
          x-spec-enum-id: 53e18c43bb418670
          default: auto
        spinWheels:
          enum:
          - auto
          - 'on'
          - 'off'
          type: string
          description: '* `auto` - Auto (runner decides)

            * `on` - On

            * `off` - Off'
          x-spec-enum-id: 53e18c43bb418670
          default: auto
        intent:
          type: string
          default: ''
          maxLength: 2000
        stagedInputUid:
          type: string
          maxLength: 36
        autoconfigUid:
          type: string
          maxLength: 36
        stl:
          type: string
          format: uri
      required:
      - name
    LesCapabilities:
      type: object
      properties:
        enabled:
          type: boolean
        contractVersion:
          type:
          - integer
          - 'null'
        defaultGrade:
          enum:
          - smoke
          - standard
          - precision
          type: string
          description: '* `smoke` - Smoke (wiring test)

            * `standard` - Standard (3-level)

            * `precision` - Precision (versioned profile)'
          x-spec-enum-id: da381bb7cd0f6163
        groundClearanceMin:
          type: number
          format: double
        groundClearanceMax:
          type: number
          format: double
        wheelTreatmentSupported:
          type: boolean
        publicationProtocol:
          enum:
          - legacy
          - native
          - manifest
          type: string
          description: '* `legacy` - legacy

            * `native` - native

            * `manifest` - manifest'
          x-spec-enum-id: 11cc3e4f02bde017
        geometryContractSupported:
          type: boolean
        grades:
          type: object
          additionalProperties:
            type: object
            additionalProperties: {}
      required:
      - contractVersion
      - defaultGrade
      - enabled
      - geometryContractSupported
      - grades
      - groundClearanceMax
      - groundClearanceMin
      - publicationProtocol
      - wheelTreatmentSupported
    LesAutoconfig:
      type: object
      properties:
        uid:
          type: string
          readOnly: true
        stlFilename:
          type: string
          readOnly: true
        intent:
          type: string
          readOnly: true
        status:
          enum:
          - pending
          - ready
          - failed
          type: string
          description: '* `pending` - Pending

            * `ready` - Ready

            * `failed` - Failed'
          x-spec-enum-id: 95a96ed85bfac560
          readOnly: true
        progress:
          readOnly: true
        geometry:
          readOnly: true
        config:
          readOnly: true
        error:
          type: string
          readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
      required:
      - config
      - createdAt
      - error
      - geometry
      - intent
      - progress
      - status
      - stlFilename
      - uid
    LesRunList:
      type: object
      description: 'Compact LES run representation used by the run list.


        Keep remote artifacts such as the failure diagnosis out of this serializer.

        Fetching those artifacts belongs to the run detail endpoint.'
      properties:
        uid:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        stlFilename:
          type: string
          readOnly: true
        grade:
          enum:
          - smoke
          - standard
          - precision
          type: string
          description: '* `smoke` - Smoke (wiring test)

            * `standard` - Standard (3-level)

            * `precision` - Precision (versioned profile)'
          x-spec-enum-id: da381bb7cd0f6163
          readOnly: true
        status:
          type: string
          readOnly: true
        result:
          readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
        startedAt:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        finishedAt:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        deletion:
          readOnly: true
        figureArtifacts:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
        downloadQuota:
          readOnly: true
        resultSummary:
          readOnly: true
        mediaArtifacts:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
        lesContractVersion:
          type:
          - integer
          - 'null'
          readOnly: true
        executionProfile:
          type:
          - string
          - 'null'
          readOnly: true
        scheduling:
          readOnly: true
      required:
      - createdAt
      - deletion
      - downloadQuota
      - executionProfile
      - figureArtifacts
      - finishedAt
      - grade
      - lesContractVersion
      - mediaArtifacts
      - name
      - result
      - resultSummary
      - scheduling
      - startedAt
      - status
      - stlFilename
      - uid
    LesAutoconfigUploadComplete:
      type: object
      properties:
        uploadId:
          type: string
          maxLength: 512
        completedParts:
          type: array
          items:
            $ref: '#/components/schemas/_CompletedPart'
        reservationId:
          type: string
          format: uuid
      required:
      - completedParts
      - reservationId
      - uploadId
    LesRun:
      type: object
      properties:
        uid:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        stlFilename:
          type: string
          readOnly: true
        speedKmh:
          type: number
          format: double
          readOnly: true
        groundClearanceMm:
          type: number
          format: double
          readOnly: true
        yawDeg:
          type: number
          format: double
          readOnly: true
        grade:
          enum:
          - smoke
          - standard
          - precision
          type: string
          description: '* `smoke` - Smoke (wiring test)

            * `standard` - Standard (3-level)

            * `precision` - Precision (versioned profile)'
          x-spec-enum-id: da381bb7cd0f6163
          readOnly: true
        placement:
          enum:
          - auto
          - ground
          - free
          type: string
          description: '* `auto` - Auto (runner decides)

            * `ground` - Ground (road vehicle)

            * `free` - Free flight'
          x-spec-enum-id: 0b78f8fee8b999b7
          readOnly: true
        wheels:
          enum:
          - unknown
          - open_spokes
          - sealed
          type: string
          description: '* `unknown` - Unknown

            * `open_spokes` - Open spokes

            * `sealed` - Sealed in uploaded geometry'
          x-spec-enum-id: 82934dcead1a8ccf
          readOnly: true
        sealWheels:
          enum:
          - auto
          - 'on'
          - 'off'
          type: string
          description: '* `auto` - Auto (runner decides)

            * `on` - On

            * `off` - Off'
          x-spec-enum-id: 53e18c43bb418670
          readOnly: true
        spinWheels:
          enum:
          - auto
          - 'on'
          - 'off'
          type: string
          description: '* `auto` - Auto (runner decides)

            * `on` - On

            * `off` - Off'
          x-spec-enum-id: 53e18c43bb418670
          readOnly: true
        movieFrames:
          type:
          - integer
          - 'null'
          readOnly: true
        intent:
          type: string
          readOnly: true
        status:
          type: string
          readOnly: true
        progress:
          readOnly: true
        result:
          readOnly: true
        error:
          type: string
          readOnly: true
        diagnosis:
          readOnly: true
        caseSetup:
          readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
        startedAt:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        finishedAt:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        deletion:
          readOnly: true
        figureArtifacts:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
        downloadQuota:
          readOnly: true
        resultSummary:
          readOnly: true
        mediaArtifacts:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
        lesContractVersion:
          type:
          - integer
          - 'null'
          readOnly: true
        executionProfile:
          type:
          - string
          - 'null'
          readOnly: true
        scheduling:
          readOnly: true
      required:
      - caseSetup
      - createdAt
      - deletion
      - diagnosis
      - downloadQuota
      - error
      - executionProfile
      - figureArtifacts
      - finishedAt
      - grade
      - groundClearanceMm
      - intent
      - lesContractVersion
      - mediaArtifacts
      - movieFrames
      - name
      - placement
      - progress
      - result
      - resultSummary
      - scheduling
      - sealWheels
      - speedKmh
      - spinWheels
      - startedAt
      - status
      - stlFilename
      - uid
      - wheels
      - yawDeg
    LesInputUpload:
      type: object
      properties:
        uid:
          type: string
          readOnly: true
        stlFilename:
          type: string
          readOnly: true
        sizeBytes:
          type: integer
          readOnly: true
        status:
          enum:
          - pending
          - ready
          - failed
          type: string
          description: '* `pending` - Pending

            * `ready` - Ready

            * `failed` - Failed'
          x-spec-enum-id: 95a96ed85bfac560
          readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
      required:
      - createdAt
      - sizeBytes
      - status
      - stlFilename
      - uid
    _CompletedPart:
      type: object
      properties:
        etag:
          type: string
          maxLength: 255
        partNumber:
          type: integer
          maximum: 10000
          minimum: 1
      required:
      - etag
      - partNumber
  securitySchemes:
    agentBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-provenance:
  method: harvested
  publisher: ADRO
  source: https://api.aoxlabs.com/schema/
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)