> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Describe Sources

> Summarise stored sources: step and cycle summaries for measurements, column
lists for analyses and material property datasets. An id that cannot be read
comes back with ``ok=false`` rather than failing the batch.



## OpenAPI

````yaml https://api.ionworks.com/openapi.json post /projects/{project_id}/dashboards/describe
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
servers:
  - url: https://api.ionworks.com
    description: Production
security: []
paths:
  /projects/{project_id}/dashboards/describe:
    post:
      tags:
        - dashboards
      summary: Describe Sources
      description: >-
        Summarise stored sources: step and cycle summaries for measurements,
        column

        lists for analyses and material property datasets. An id that cannot be
        read

        comes back with ``ok=false`` rather than failing the batch.
      operationId: describe_sources_projects__project_id__dashboards_describe_post
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DescribeRequest:
      properties:
        source:
          type: string
          enum:
            - measurements
            - analyses
            - materialProperties
          title: Source
        ids:
          items:
            type: string
            format: uuid
          type: array
          maxItems: 50
          minItems: 1
          title: Ids
      additionalProperties: false
      type: object
      required:
        - source
        - ids
      title: DescribeRequest
    DescribeResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/DescribedItem'
          type: array
          title: Items
      type: object
      required:
        - items
      title: DescribeResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DescribedItem:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        ok:
          type: boolean
          title: Ok
        steps:
          anyOf:
            - $ref: '#/components/schemas/StepsDescription'
            - type: 'null'
        discharge_steps:
          items:
            $ref: '#/components/schemas/DischargeStepDescription'
          type: array
          title: Discharge Steps
        cycles:
          anyOf:
            - $ref: '#/components/schemas/CyclesDescription'
            - type: 'null'
        columns:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Columns
        warnings:
          items:
            type: string
          type: array
          title: Warnings
        error:
          anyOf:
            - type: string
            - type: 'null'
          title: Error
      type: object
      required:
        - id
        - ok
      title: DescribedItem
      description: |-
        One source described. A failure is reported here, never raised, so one
        unreadable measurement does not cost the caller the other forty-nine.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    StepsDescription:
      properties:
        count:
          type: integer
          title: Count
          default: 0
        columns:
          items:
            type: string
          type: array
          title: Columns
        types:
          additionalProperties:
            type: integer
          type: object
          title: Types
      type: object
      title: StepsDescription
    DischargeStepDescription:
      properties:
        step_count:
          anyOf:
            - type: number
            - type: 'null'
          title: Step Count
        mean_current_A:
          anyOf:
            - type: number
            - type: 'null'
          title: Mean Current A
        capacity_Ah:
          anyOf:
            - type: number
            - type: 'null'
          title: Capacity Ah
        duration_s:
          anyOf:
            - type: number
            - type: 'null'
          title: Duration S
        start_time_s:
          anyOf:
            - type: number
            - type: 'null'
          title: Start Time S
        energy_Wh:
          anyOf:
            - type: number
            - type: 'null'
          title: Energy Wh
        mean_power_W:
          anyOf:
            - type: number
            - type: 'null'
          title: Mean Power W
      type: object
      title: DischargeStepDescription
    CyclesDescription:
      properties:
        count:
          type: integer
          title: Count
          default: 0
        columns:
          items:
            type: string
          type: array
          title: Columns
        capacity_first:
          anyOf:
            - type: number
            - type: 'null'
          title: Capacity First
        capacity_last:
          anyOf:
            - type: number
            - type: 'null'
          title: Capacity Last
        capacity_min:
          anyOf:
            - type: number
            - type: 'null'
          title: Capacity Min
        capacity_max:
          anyOf:
            - type: number
            - type: 'null'
          title: Capacity Max
        monotonic_decreasing:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Monotonic Decreasing
      type: object
      title: CyclesDescription

````