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

# Get Field Recording

> Retrieve a single field recording by its ID.



## OpenAPI

````yaml /api/openapi.json get /recordings/{id}/
openapi: 3.1.0
info:
  title: Craft API
  description: Public API for programmatic access to your Craft data.
  version: 1.0.0
servers:
  - url: https://data.craftflow.co/api/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /recordings/{id}/:
    get:
      tags:
        - Field Recordings
      summary: Get Field Recording
      description: Retrieve a single field recording by its ID.
      operationId: getRecording
      parameters:
        - name: id
          in: path
          description: The unique identifier of the field recording.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: A single field recording.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/FieldRecordingDetail'
                required:
                  - data
              example:
                data:
                  id: e5f6a7b8-c9d0-1234-efab-567890123456
                  name: HVAC Install - 123 Main St
                  start_time: '2025-07-01T09:00:00Z'
                  end_time: '2025-07-01T09:45:00Z'
                  audio_duration_seconds: 2700
                  score: 0.85
                  user:
                    id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    full_name: John Doe
                  created_at: '2025-07-01T09:00:00Z'
                  custom_fields:
                    - name: Customer Interest
                      slug: customer-interest
                      value_type: single_select
                      value: High
                      source: ai
                    - name: Quoted Price
                      slug: quoted-price
                      value_type: number
                      value: 12500
                      source: manual
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Field recording not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  detail: Not found.
components:
  schemas:
    FieldRecordingDetail:
      allOf:
        - $ref: '#/components/schemas/FieldRecording'
        - type: object
          properties:
            custom_fields:
              type: array
              description: >-
                Custom field values attached to this recording. Returned only on
                the retrieve endpoint, not on list.
              items:
                $ref: '#/components/schemas/FieldRecordingCustomField'
          required:
            - custom_fields
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            detail:
              type: string
              description: Human-readable error message.
          required:
            - detail
      required:
        - error
    FieldRecording:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the field recording.
        name:
          type:
            - string
            - 'null'
          description: Name or label for the field recording.
        start_time:
          type: string
          format: date-time
          description: When the field recording started (ISO 8601).
        end_time:
          type: string
          format: date-time
          description: When the field recording ended (ISO 8601).
        audio_duration_seconds:
          type: integer
          description: Duration of the audio in seconds.
        score:
          type: number
          description: Overall score for the field recording (0.0 - 1.0).
        user:
          oneOf:
            - $ref: '#/components/schemas/NestedUser'
            - type: 'null'
          description: The technician who made the field recording, or null.
        created_at:
          type: string
          format: date-time
          description: When the field recording was created (ISO 8601).
      required:
        - id
        - name
        - start_time
        - end_time
        - audio_duration_seconds
        - score
        - user
        - created_at
    FieldRecordingCustomField:
      type: object
      description: >-
        A custom field value attached to a field recording. Custom fields are
        configured per company and can be AI-computed or manually entered.
      properties:
        name:
          type: string
          description: Human-readable name of the custom field.
        slug:
          type: string
          description: >-
            Stable machine-readable identifier for the custom field, unique
            within the company.
        value_type:
          type: string
          enum:
            - text
            - number
            - boolean
            - single_select
            - multi_select
          description: >-
            The data type of the field's value. Determines the JSON type
            returned in `value`.
        value:
          oneOf:
            - type: string
            - type: number
            - type: boolean
            - type: array
              items:
                type: string
          description: >-
            The field's value. The JSON type depends on `value_type`: `text` →
            string, `number` → number, `boolean` → boolean, `single_select` →
            string, `multi_select` → array of strings.
        source:
          type: string
          enum:
            - ai
            - manual
          description: >-
            Whether the value was produced by AI extraction from the transcript
            or manually entered.
      required:
        - name
        - slug
        - value_type
        - value
        - source
    NestedUser:
      type: object
      description: The user associated with this record, or null if none.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the user.
        full_name:
          type: string
          description: The user's full display name.
      required:
        - id
        - full_name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your API key, prefixed with `cf_live_`.

````