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

# Hide a capture from the proof page and the Verify panel, or return it to them

> A merge patch of one capture: hidden true hides it from the proof page and the Verify panel, false returns it to them. Answers with the capture as the task's media list shows it to you. Restricted to the creator of a task linked to the task's pull request or an admin or owner of its organization: anyone else is refused with 403 control_forbidden. A capture the task does not hold is 404.



## OpenAPI

````yaml api-reference/openapi.json PATCH /tasks/{taskID}/media/{mediaID}
openapi: 3.1.0
info:
  title: Aether API
  version: 0.1.0
servers:
  - url: https://api.runaether.dev
security:
  - bearerAuth: []
paths:
  /tasks/{taskID}/media/{mediaID}:
    patch:
      tags:
        - tasks
      summary: >-
        Hide a capture from the proof page and the Verify panel, or return it to
        them
      description: >-
        A merge patch of one capture: hidden true hides it from the proof page
        and the Verify panel, false returns it to them. Answers with the capture
        as the task's media list shows it to you. Restricted to the creator of a
        task linked to the task's pull request or an admin or owner of its
        organization: anyone else is refused with 403 control_forbidden. A
        capture the task does not hold is 404.
      operationId: patchTaskMedia
      parameters:
        - in: path
          name: taskID
          required: true
          schema:
            format: uuid
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            type: string
        - in: path
          name: mediaID
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchTaskMediaRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskMediaItem'
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TasksErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/TasksErrorResponse'
                  - $ref: '#/components/schemas/OrgAuthorizationErrorResponse'
                  - $ref: '#/components/schemas/ControlForbiddenErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TasksErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TasksErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TasksErrorResponse'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TasksErrorResponse'
          description: Service Unavailable
components:
  schemas:
    PatchTaskMediaRequest:
      additionalProperties: false
      minProperties: 1
      properties:
        hidden:
          description: >-
            True hides the capture from the proof page and the Verify panel;
            false returns it to them.
          type: boolean
      type: object
    TaskMediaItem:
      additionalProperties: false
      properties:
        capture:
          $ref: '#/components/schemas/TaskMediaCapture'
        content_type:
          enum:
            - image/png
            - image/jpeg
            - video/webm
            - video/mp4
            - application/json
          type: string
        created_at:
          format: date-time
          type: string
        head_sha:
          maxLength: 40
          minLength: 40
          pattern: ^[0-9a-f]{40}$
          type:
            - string
            - 'null'
        hidden:
          anyOf:
            - $ref: '#/components/schemas/TaskMediaHiddenMark'
            - type: 'null'
        id:
          format: uuid
          type: string
        public_url:
          format: uri
          minLength: 1
          type: string
        tracks:
          items:
            $ref: '#/components/schemas/TaskMediaTrack'
          type: array
      required:
        - id
        - public_url
        - content_type
        - capture
        - head_sha
        - hidden
        - created_at
      type: object
    TasksErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - account_deleting
            - aether_inference_unserved
            - agent_pr_blocked
            - agent_pr_pending
            - app_identity_missing
            - attribution_unavailable
            - bad_gateway
            - bad_request
            - caller_inactive
            - conflict
            - connection_harness_mismatch
            - connection_not_held
            - contents_write_required
            - continuation_failed
            - continuation_unavailable
            - control_forbidden
            - embeddings_unavailable
            - fix_not_requested
            - fix_requests_unrecorded
            - forbidden
            - fork_branch_delete_unsupported
            - fork_forbidden
            - gateway_timeout
            - github_claim_unverified
            - github_failed
            - github_identity_mismatch
            - github_identity_required
            - github_push_access_required
            - github_reconnect_required
            - github_ref_not_found
            - gone
            - idempotency_key_reused
            - inference_proxy_unavailable
            - insufficient_credits
            - insufficient_inference_balance
            - internal_error
            - invalid_request
            - mcp_server_not_connected
            - method_not_allowed
            - mode_forbidden
            - no_dispatch_target
            - not_acceptable
            - not_found
            - not_implemented
            - onboarding_already_completed
            - onboarding_requirements_missing
            - org_role_insufficient
            - org_suspended
            - payment_required
            - pr_review_actor_required
            - pr_review_publish_forbidden
            - precondition_failed
            - pull_request_closed
            - pull_request_mirror_failed
            - pull_request_not_mirrored
            - queued_stop_requires_discard
            - rate_limited
            - request_canceled
            - request_timeout
            - request_too_large
            - service_unavailable
            - stack_cycle
            - stack_too_large
            - stack_two_parents
            - stale_execution
            - stale_or_indeterminate
            - stale_pending_input
            - stream_delivery_gap
            - stream_event_conflict
            - task_awaiting_message
            - task_awaiting_tool_response
            - task_connection_disconnected
            - task_creator_deleted
            - task_ineligible
            - task_not_accepting_messages
            - task_not_pinnable
            - task_settings_changed
            - unauthenticated
            - unsigned_aether_head
            - unsigned_commit
            - unsupported_changes
            - unsupported_media_type
            - untyped_error
            - validation_failed
            - workspace_git_unavailable
            - workspace_rejected
          minLength: 1
          type: string
        error:
          minLength: 1
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
      required:
        - error
        - code
      type: object
    OrgAuthorizationErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - org_membership_required
            - org_role_insufficient
            - org_suspended
            - account_deleting
            - agent_host_route_not_allowed
            - credential_kind_not_admitted
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    ControlForbiddenErrorResponse:
      additionalProperties: false
      properties:
        code:
          enum:
            - control_forbidden
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
        - code
      type: object
    TaskMediaCapture:
      discriminator:
        mapping:
          recording: '#/components/schemas/TaskMediaRecordingCapture'
          screenshot: '#/components/schemas/TaskMediaScreenshotCapture'
          terminal_recording: '#/components/schemas/TaskMediaTerminalRecordingCapture'
          untracked: '#/components/schemas/TaskMediaUntrackedCapture'
          upload: '#/components/schemas/TaskMediaUploadCapture'
        propertyName: kind
      oneOf:
        - $ref: '#/components/schemas/TaskMediaRecordingCapture'
        - $ref: '#/components/schemas/TaskMediaTerminalRecordingCapture'
        - $ref: '#/components/schemas/TaskMediaScreenshotCapture'
        - $ref: '#/components/schemas/TaskMediaUploadCapture'
        - $ref: '#/components/schemas/TaskMediaUntrackedCapture'
    TaskMediaHiddenMark:
      additionalProperties: false
      properties:
        at:
          format: date-time
          type: string
        by:
          format: uuid
          type: string
      required:
        - at
        - by
      type: object
    TaskMediaTrack:
      additionalProperties: false
      properties:
        byte_size:
          format: int64
          maximum: 52428800
          minimum: 1
          type: integer
        format:
          enum:
            - aether.cpu.v2
            - aether.network.v2
          type: string
        kind:
          enum:
            - cpu
            - network
          type: string
        url:
          format: uri
          type: string
      required:
        - kind
        - format
        - url
        - byte_size
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    TaskMediaRecordingCapture:
      additionalProperties: false
      properties:
        actions:
          items:
            $ref: '#/components/schemas/TaskMediaCaptureAction'
          maxItems: 2000
          type: array
        chapters:
          items:
            $ref: '#/components/schemas/TaskMediaCaptureChapter'
          maxItems: 100
          type: array
        description:
          maxLength: 2000
          minLength: 1
          pattern: \S
          type: string
        duration_ms:
          format: int64
          minimum: 0
          type: integer
        ending:
          enum:
            - stopped
            - interrupted
          type: string
        height:
          format: int64
          minimum: 1
          type: integer
        kind:
          enum:
            - recording
          type: string
        notes:
          items:
            maxLength: 280
            minLength: 1
            pattern: \S
            type: string
          maxItems: 10
          type: array
        pages:
          items:
            maxLength: 500
            minLength: 1
            pattern: \S
            type: string
          maxItems: 200
          type: array
        source:
          enum:
            - browser
            - desktop
            - device
          type: string
        title:
          maxLength: 120
          minLength: 1
          pattern: \S
          type: string
        width:
          format: int64
          minimum: 1
          type: integer
      required:
        - kind
        - source
        - title
        - description
        - duration_ms
        - width
        - height
        - chapters
        - actions
        - pages
      type: object
    TaskMediaScreenshotCapture:
      additionalProperties: false
      properties:
        caption:
          maxLength: 200
          minLength: 1
          pattern: \S
          type: string
        kind:
          enum:
            - screenshot
          type: string
        source:
          enum:
            - browser
            - desktop
            - device
          type: string
      required:
        - kind
        - source
      type: object
    TaskMediaTerminalRecordingCapture:
      additionalProperties: false
      description: A JSON terminal recording bundle of at most 33554432 bytes.
      properties:
        actions:
          items:
            $ref: '#/components/schemas/TaskMediaCaptureAction'
          maxItems: 2000
          type: array
        chapters:
          items:
            $ref: '#/components/schemas/TaskMediaCaptureChapter'
          maxItems: 100
          type: array
        description:
          maxLength: 2000
          minLength: 1
          pattern: \S
          type: string
        duration_ms:
          format: int64
          minimum: 1
          type: integer
        ending:
          enum:
            - stopped
            - interrupted
          type: string
        kind:
          enum:
            - terminal_recording
          type: string
        notes:
          items:
            maxLength: 280
            minLength: 1
            pattern: \S
            type: string
          maxItems: 10
          type: array
        terminals:
          items:
            $ref: '#/components/schemas/TaskMediaCaptureTerminal'
          maxItems: 4
          minItems: 1
          type: array
        title:
          maxLength: 120
          minLength: 1
          pattern: \S
          type: string
      required:
        - kind
        - title
        - description
        - duration_ms
        - terminals
        - chapters
        - actions
      type: object
    TaskMediaUntrackedCapture:
      additionalProperties: false
      properties:
        kind:
          enum:
            - untracked
          type: string
      required:
        - kind
      type: object
    TaskMediaUploadCapture:
      additionalProperties: false
      properties:
        kind:
          enum:
            - upload
          type: string
        name:
          maxLength: 200
          minLength: 1
          pattern: \S
          type: string
      required:
        - kind
        - name
      type: object
    TaskMediaCaptureAction:
      additionalProperties: false
      properties:
        at_ms:
          format: int64
          minimum: 0
          type: integer
        kind:
          enum:
            - click
            - hover
            - type
            - key
            - select
            - drag
            - navigate
            - other
          type: string
        label:
          maxLength: 200
          minLength: 1
          pattern: \S
          type: string
      required:
        - at_ms
        - kind
        - label
      type: object
    TaskMediaCaptureChapter:
      additionalProperties: false
      properties:
        at_ms:
          format: int64
          minimum: 0
          type: integer
        description:
          maxLength: 2000
          minLength: 1
          pattern: \S
          type: string
        title:
          maxLength: 120
          minLength: 1
          pattern: \S
          type: string
      required:
        - at_ms
        - title
      type: object
    TaskMediaCaptureTerminal:
      additionalProperties: false
      properties:
        cols:
          format: int64
          minimum: 1
          type: integer
        name:
          maxLength: 200
          minLength: 1
          pattern: \S
          type: string
        rows:
          format: int64
          minimum: 1
          type: integer
      required:
        - name
        - cols
        - rows
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.