# Update Proof

PATCH /{proofId}

#### Description

Updates an existing proof file identified by its ID, allowing modification to whether it is private. Also allows adding the schema file for proof uploaded in CSV format to make that file compatible with the automated testing feature.

Updating Testable CSV proof

After uploading a CSV file intended for automated testing, a PATCH request should be made to create the schema to be tested.
The body of the request will define the CSV fields and types for the automated testing feature. Available types include text , number , boolean , and date.

bash
curl --request PATCH 'https://api.hyperproof.app/v1/proof/:proofid' \
--header 'Content-Type: application/json' \
--header 'Authorization: ••••••' \
--data '{
    "isPrivate": false,
    "schema": {
        "class": "CsvFileSchema",
        "fields": [{
            "name": "Name",
            "type": "text"
        }, {
            "name": "Email",
            "type": "text"
        }]
    }
}'

Endpoint: PATCH /{proofId}
Version: 1.0
Security: oauth2

## Path parameters:

  - `proofId` (string, required)
    Unique identifier of the proof to update.

## Request fields (application/json):

  - `isPrivate` (boolean)
    Whether the proof item is private.

  - `schema` (object)
    Schema definition for CSV file proof data.
    Example: {"class":"CsvFileSchema","fields":[{"name":"Name","type":"text"},{"name":"Access Level","type":"number"},{"name":"Last Access","type":"date"},{"name":"MFA Enabled","type":"boolean"}]}

  - `schema.class` (string, required)
    The schema class type.
    Enum: "CsvFileSchema"

  - `schema.fields` (array, required)
    The field definitions for the schema.
    Example: [{"name":"Name","type":"text"},{"name":"Access Level","type":"number"},{"name":"Last Access","type":"date"},{"name":"MFA Enabled","type":"boolean"}]

  - `schema.fields.name` (string, required)
    The case sensitive identifier for the field.

  - `schema.fields.type` (string, required)
    The data type of the field.
    Enum: "text", "number", "boolean", "date"

  - `schema.fields.label` (string)
    The label for the field.

## Response 200 fields (application/json):

  - `id` (string)
    Unique identifier for the proof item
    Example: "4eb909de-51af-11ee-a644-522476618ae8"

  - `orgId` (string)
    Unique identifier for the organization
    Example: "ce83e3cd-5199-11ee-a644-522476618ae8"

  - `filename` (string)
    Name of the uploaded file
    Example: "example.txt"

  - `nameOverride` (string)
    Name of proof Hyperproof given by Hyperproof user

  - `contentType` (string)
    MIME type of the file (e.g.,text/plain)
    Example: "text/plain"

  - `fileExtension` (string)
    File extension (e.g.,txt)
    Example: "txt"

  - `size` (number)
    File size in bytes
    Example: 627

  - `version` (integer)
    Version of the proof item

  - `source` (string)
    Source of the file (e.g.,localComputer)
    Example: "localComputer"

  - `sourceVersion` (integer)
    The version of the proof maintained by the source system

  - `ownedBy` (string)
    Unique identifier of the user who owns the proof item
    Example: "82d7c228-8bcd-11e9-a94b-ab3de8494987"

  - `isPrivate` (boolean)
    Whether the proof item is private

  - `uploadedOn` (string)
    The date the proof was uploaded (ISO-8601 format)
    Example: "2023-09-12T20:59:47.694353Z"

  - `status` (string)
    Status of the proof item
    Enum: "active", "archived", "deleted", "pending", "canceled"

  - `createdBy` (string)
    Unique identifier of the user who created the proof item
    Example: "82d7c228-8bcd-11e9-a94b-ab3de8494987"

  - `createdOn` (string)
    The date the proof was created (ISO-8601 format)
    Example: "2023-09-12T20:59:47.694353Z"

  - `updatedBy` (string)
    Unique identifier of the user who last updated the proof item
    Example: "82d7c228-8bcd-11e9-a94b-ab3de8494987"

  - `updatedOn` (string)
    The date the proof was updated (ISO-8601 format)
    Example: "2023-09-12T20:59:47.694353Z"


