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

# Upload an evidence file for manual evidence collection

> Endpoint used for uploading a file necessary for manual evidence collection. Please see the API Usage Guide for this endpoint for further instructions.



## OpenAPI

````yaml POST /api/v1/evidence
openapi: 3.1.0
info:
  title: Risk Cloud API
  description: >-
    The Risk Cloud API is a collection of RESTful API endpoints that empower you
    and your team to directly integrate, automate, and build with the Risk
    Cloud. Risk Cloud API endpoint payloads are JSON based, with some endpoints
    supporting exports in CSV and XSLX formats for flexible integration.


    This API documentation showcases our Risk Cloud API v1, containing a variety
    of endpoints with continued support for enabling integrations with the Risk
    Cloud.


    Visit the [LogicGate Risk Cloud Developer
    Portal](https://www.logicgate.com/developer/) to get started with building
    your custom integration with quick start guides, usage guides, release
    notes, and more. Or download the [v1 OpenAPI
    specification](/legacy-openapi.json).


    Explore our [Risk Cloud API v2](https://docs.logicgate.com/v2/index.html)
    endpoints and documentation as well. [Risk Cloud API
    v2](https://docs.logicgate.com/v2/index.html) is our collection of API-First
    endpoints that are tailor made for our developer users, offer concise and
    highly documented details, are supported by a [Postman
    collection](https://www.postman.com/logicgate-postman/workspace/logicgate-risk-cloud-api/collection/29257227-de8d264b-6eeb-4177-bea6-2da0a8cabffc)
    and [v2 OpenAPI specification](https://github.com/LogicGateTech/openapi),
    and contain our latest API endpoint releases.
  contact:
    name: developer-relations@logicgate.com
    email: developer-relations@logicgate.com
  version: v2026.11.0
servers:
  - url: https://{subdomain}.logicgate.com
    description: Your Risk Cloud environment.
    variables:
      subdomain:
        description: Your Risk Cloud environment's subdomain (e.g. `qa`).
        default: your-instance
security:
  - ApiToken: []
  - basic: []
tags:
  - name: Authentication
    description: >-
      Getting Started: How to create an [API Access
      Token](https://www.logicgate.com/developer/risk-cloud-api-authentication/)
      to begin integrating with the Risk Cloud API
  - name: Attachment
    description: Endpoints for uploading, downloading, and retrieving record attachments.
  - name: Field
    description: Endpoints for creating, updating, and querying fields.
  - name: Principal
    description: >-
      Endpoints for the authenticated principal to view and manage their own
      details.
  - name: Record Audit
    description: Endpoints for retrieving record audit history and productivity data.
  - name: Step
    description: Endpoints for retrieving steps and the steps a user can access.
  - name: Table Report
    description: Endpoints for retrieving and managing table reports.
  - name: User Group
    description: Endpoints for managing user groups and their membership.
externalDocs:
  description: Developer Portal
  url: https://www.logicgate.com/developer/
paths:
  /api/v1/evidence:
    post:
      tags:
        - Evidence
      summary: Upload an evidence file for manual evidence collection.
      description: >-
        Endpoint used for uploading a file necessary for manual evidence
        collection. Please see the API Usage Guide for this endpoint for further
        instructions.
      operationId: addEvidence
      parameters:
        - name: evidenceUploadRequest
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/EvidenceUploadRequest'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
              required:
                - file
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvidenceUploadResponse'
components:
  schemas:
    EvidenceUploadRequest:
      type: object
      description: >-
        All information needed to upload an evidence file, create a record, and
        link to an existing record.
      properties:
        stepId:
          type: string
          description: >-
            The STEP_ID where a new record will be created that holds the
            attachment.
          minLength: 1
        fieldId:
          type: string
          description: The FIELD_ID that the attachment is attached to.
          minLength: 1
        parentRecordId:
          type: string
          description: >-
            The PARENT_RECORD_ID that the newly created record will be linked
            to.
          minLength: 1
        jobId:
          type: string
          description: >-
            The JOB_ID to update the history of when uploading to a specific
            Job.
        jobExecutionOperationId:
          type: string
          description: >-
            The JOB_EXECUTION_OPERATION_ID to update the history of when using
            an AEC Webhook.
        dueDateInterval:
          type: integer
          format: int64
          description: How long after record creation should the due date be set.
        dueDateIntervalUnit:
          type: string
          description: The unit the due date interval should be.
          enum:
            - Nanos
            - Micros
            - Millis
            - Seconds
            - Minutes
            - Hours
            - HalfDays
            - Days
            - Weeks
            - Months
            - Years
            - Decades
            - Centuries
            - Millennia
            - Eras
            - Forever
        assignUserId:
          type: string
          description: >-
            The ASSIGN_USER_ID for the user that the newly created user will be
            assigned to.
        assignFieldId:
          type: string
          description: >-
            The ASSIGN_FIELD_ID for the field value that the newly created user
            will be assigned to.
        endpointFiring:
          type: boolean
          description: >-
            Value correlating to if the request is being made from an
            EndpointTrigger.
      required:
        - assignFieldId
        - assignUserId
        - dueDateInterval
        - dueDateIntervalUnit
        - endpointFiring
        - fieldId
        - jobExecutionOperationId
        - jobId
        - parentRecordId
        - stepId
    EvidenceUploadResponse:
      type: object
      description: The response from uploading an evidence file.
      properties:
        jobId:
          type: string
          description: The ID of the job that the evidence file is being uploaded with.
        recordId:
          type: string
          description: The newly created RECORD_ID that holds the evidence file.
        record:
          $ref: '#/components/schemas/RecordSummaryOut'
          description: The fully populated record that holds the evidence file.
        parentRecordId:
          type: string
          description: The PARENT_RECORD_ID the newly created record is linked to.
        parentRecord:
          $ref: '#/components/schemas/RecordSummaryOut'
          description: The fully populated record the newly created record is linked to.
        fieldId:
          type: string
          description: The FIELD_ID of the attachment field.
        field:
          $ref: '#/components/schemas/FieldBasicsOut'
          description: The fully populated attachment field.
        attachmentId:
          type: string
          description: The ATTACHMENT_ID of the uploaded attachment.
        attachment:
          $ref: '#/components/schemas/CurrentValueBasicsOut'
          description: The fully populated attachment object.
        stepId:
          type: string
          description: The STEP_ID the newly created record is on.
        step:
          $ref: '#/components/schemas/StepOut'
          description: The fully populated step the newly created record is on.
        dueDateInterval:
          type: integer
          format: int64
          description: How long after record creation should the due date be set.
        dueDateIntervalUnit:
          type: string
          description: The unit the due date interval should be.
          enum:
            - Nanos
            - Micros
            - Millis
            - Seconds
            - Minutes
            - Hours
            - HalfDays
            - Days
            - Weeks
            - Months
            - Years
            - Decades
            - Centuries
            - Millennia
            - Eras
            - Forever
        assignUserId:
          type: string
          description: The ASSIGN_USER_ID of the assigned user.
      required:
        - assignUserId
        - attachment
        - attachmentId
        - dueDateInterval
        - dueDateIntervalUnit
        - field
        - fieldId
        - jobId
        - parentRecord
        - parentRecordId
        - record
        - recordId
        - step
        - stepId
    RecordSummaryOut:
      type: object
      properties:
        recordType:
          type: string
          enum:
            - RECORD
            - JIRA_RECORD
        id:
          type: string
        active:
          type: boolean
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        sequenceId:
          type: integer
          format: int64
        namespace:
          type: string
        dueDate:
          type: string
          format: date-time
        stepDueDate:
          type: string
          format: date-time
        userDate:
          type: string
          format: date-time
        activeDate:
          type: string
          format: date-time
        enteredStepDate:
          type: string
          format: date-time
        completedDate:
          type: string
          format: date-time
        lastCompletedDate:
          type: string
          format: date-time
        workflow:
          $ref: '#/components/schemas/WorkflowSummaryOut'
        creator:
          $ref: '#/components/schemas/UserApiBasicOut'
        user:
          $ref: '#/components/schemas/UserApiBasicOut'
        assignee:
          $ref: '#/components/schemas/UserApiBasicOut'
        isPending:
          type: boolean
          writeOnly: true
        primaryFieldValue:
          type: string
        recordName:
          type: string
        pending:
          type: boolean
        name:
          type: string
      required:
        - active
        - activeDate
        - assignee
        - completedDate
        - created
        - creator
        - dueDate
        - enteredStepDate
        - id
        - isPending
        - lastCompletedDate
        - namespace
        - primaryFieldValue
        - recordName
        - recordType
        - sequenceId
        - stepDueDate
        - updated
        - user
        - userDate
        - workflow
    FieldBasicsOut:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        label:
          type: string
        fieldType:
          type: string
        required:
          type: boolean
        readOnly:
          type: boolean
        currentValues:
          type: array
          items:
            $ref: '#/components/schemas/CurrentValueBasicsOut'
        operators:
          type: array
          items:
            type: string
            enum:
              - EQUALS
              - NOT_EQUALS
              - IS
              - IS_NOT
              - GREATER_THAN
              - GREATER_THAN_EQUALS
              - LESS_THAN
              - LESS_THAN_EQUALS
              - CONTAINS
              - DOES_NOT_CONTAIN
              - 'NULL'
              - NOT_NULL
              - DATE_RANGE
              - NUMERIC_RANGE
      required:
        - currentValues
        - fieldType
        - id
        - label
        - name
        - operators
        - readOnly
        - required
    CurrentValueBasicsOut:
      type: object
      properties:
        id:
          type: string
        active:
          type: boolean
        archived:
          type: boolean
        created:
          type: string
          format: date-time
        discriminator:
          type: string
        updated:
          type: string
          format: date-time
        textValue:
          type: string
        numericValue:
          type: number
          format: double
        temporalValue:
          type: string
          format: date-time
        valueType:
          type: string
      required:
        - active
        - archived
        - created
        - discriminator
        - id
        - numericValue
        - temporalValue
        - textValue
        - updated
        - valueType
    StepOut:
      type: object
      properties:
        id:
          type: string
        active:
          type: boolean
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        name:
          type: string
          description: Step name.
        priority:
          type: integer
          format: int32
          description: >-
            Determines the step's place in the workflow. Priority is in
            descending order with 0 being the first step.
        userGroupOperationType:
          type: string
          description: >-
            Determine how users are able to interact with user groups on the
            step. By default, new steps will allow FULL_ACCESS user group
            editing.
          enum:
            - FULL_ACCESS
            - ADD_ONLY
            - READ_ONLY
        xpos:
          type: integer
          format: int32
          description: Vertical position of the step on the process screen.
        ypos:
          type: integer
          format: int32
          description: Horizontal position of the step on the process screen.
        isPublic:
          type: boolean
          writeOnly: true
        sla:
          $ref: '#/components/schemas/ServiceLevelAgreement'
          description: Object containing all SLA information.
        workflowId:
          type: string
          writeOnly: true
        assignableUserType:
          type: string
          description: >-
            Determine what users are able to be assigned to a record. By
            default, new records will allow APP_USERS as assignees.
          enum:
            - APP_AND_EXTERNAL_USERS
            - APP_USERS
            - EXTERNAL_USERS
        autofillEnabled:
          type: boolean
          description: Whether or not to enable autofill on the step.
        stepType:
          type: string
          description: >-
            Step type determines whether a step is an ORIGIN, END, or CHAIN
            step.
          enum:
            - ORIGIN
            - CHAIN
            - END
        workflow:
          $ref: '#/components/schemas/WorkflowSummaryOut'
          description: Parent workflow of this step.
        public:
          type: boolean
      required:
        - active
        - assignableUserType
        - autofillEnabled
        - created
        - id
        - isPublic
        - name
        - priority
        - sla
        - stepType
        - updated
        - userGroupOperationType
        - workflow
        - workflowId
        - xpos
        - ypos
    WorkflowSummaryOut:
      type: object
      properties:
        id:
          type: string
          description: ID of the workflow.
        active:
          type: boolean
          description: True if the workflow is active.
        created:
          type: string
          format: date-time
          description: Created Date of the workflow.
        updated:
          type: string
          format: date-time
          description: Last Updated Date of the workflow.
        name:
          type: string
          description: Name of the workflow.
        recordPrefix:
          type: string
          description: Prefix to be used for every record created from the workflow.
        allowGroups:
          type: boolean
          description: Nodes created in the workflow are allowed user groups.
        requireGroups:
          type: boolean
          description: Nodes created in the workflow require user groups.
        xpos:
          type: integer
          format: int32
          description: X axis position of the workflow on the application screen
        ypos:
          type: integer
          format: int32
          description: Y axis position of the workflow on the application screen
        sla:
          $ref: '#/components/schemas/ServiceLevelAgreement'
          description: Object containing all SLA information.
        allowAec:
          type: boolean
          description: Enabled automated evidence collection.
        applicationId:
          type: string
          description: The parent application ID of this workflow.
        workflowType:
          type: string
          description: The type of this workflow (LG or Jira).
          enum:
            - WORKFLOW
            - JIRA_WORKFLOW
            - CONTROL_WORKFLOW
            - ANALYSIS_WORKFLOW
        application:
          $ref: '#/components/schemas/ApplicationSummaryOut'
          description: The parent application of this workflow.
      required:
        - active
        - allowAec
        - allowGroups
        - application
        - applicationId
        - created
        - id
        - name
        - recordPrefix
        - requireGroups
        - sla
        - updated
        - workflowType
        - xpos
        - ypos
    UserApiBasicOut:
      type: object
      description: >-
        A limited representation of a User with limited properties. To be
        deprecated in the future.
      properties:
        id:
          type: string
          description: id
        active:
          type: boolean
          description: active
        archived:
          type: boolean
          description: archived
        autoprovisioned:
          type: boolean
          description: autoprovisioned
        company:
          type: string
          description: company
        created:
          type: string
          format: date-time
          description: created
        disabled:
          type: boolean
          description: disabled
        discriminator:
          type: string
          description: discriminator
        email:
          type: string
          description: email
        empty:
          type: boolean
          description: empty
        external:
          type: boolean
          description: external
        fieldId:
          type: string
          description: fieldId
        first:
          type: string
          description: first
        idOrTransientId:
          type: string
          description: idOrTransientId
        imageS3Key:
          type: string
          description: imageS3Key
        imageUrl:
          type: string
          description: imageUrl
        isDefault:
          type: boolean
          description: isDefault
        last:
          type: string
          description: last
        lastDeactivated:
          type: string
          format: date-time
          description: lastDeactivated
        lastLogin:
          $ref: '#/components/schemas/AccessAudit'
          description: lastLogin
        locked:
          type: boolean
          description: locked
        mfaEnabled:
          type: boolean
          description: mfaEnabled
        mfaSetup:
          type: boolean
          description: mfaSetup
        name:
          type: string
          description: name
        numericValue:
          type: number
          format: double
          description: numericValue
        pricingUserTier:
          type: string
          description: pricingUserTier
          enum:
            - STANDARD
            - POWER
        priority:
          type: integer
          format: int32
          description: priority
        scimStatus:
          type: string
          description: scimStatus
        serviceAccount:
          type: boolean
          description: serviceAccount
        status:
          type: string
          description: status
        superUser:
          type: boolean
          description: superUser
        textValue:
          type: string
          description: textValue
        tier:
          type: string
          description: tier
          enum:
            - PRIMARY
            - SECONDARY
            - LIMITED
        transientIdOrId:
          type: string
          description: transientIdOrId
        updated:
          type: string
          format: date-time
          description: updated
        valueType:
          type: string
          description: valueType
      required:
        - active
        - archived
        - autoprovisioned
        - company
        - created
        - disabled
        - discriminator
        - email
        - empty
        - external
        - fieldId
        - first
        - id
        - idOrTransientId
        - imageS3Key
        - imageUrl
        - isDefault
        - last
        - lastDeactivated
        - lastLogin
        - locked
        - mfaEnabled
        - mfaSetup
        - name
        - numericValue
        - pricingUserTier
        - priority
        - scimStatus
        - serviceAccount
        - status
        - superUser
        - textValue
        - tier
        - transientIdOrId
        - updated
        - valueType
    ServiceLevelAgreement:
      type: object
      properties:
        enabled:
          type: boolean
        duration:
          type: integer
          format: int64
      required:
        - duration
        - enabled
    ApplicationSummaryOut:
      type: object
      properties:
        id:
          type: string
        active:
          type: boolean
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        name:
          type: string
        type:
          type: string
        color:
          type: string
        icon:
          type: string
        live:
          type: boolean
        permissionsEnabled:
          type: boolean
      required:
        - active
        - color
        - created
        - icon
        - id
        - live
        - name
        - permissionsEnabled
        - type
        - updated
    AccessAudit:
      type: object
      description: Entity used to track authentication attempts.
      discriminator:
        propertyName: accessType
      oneOf:
        - $ref: '#/components/schemas/LogIn'
        - description: >-
            And other types: LogOut, LogInFail, CredentialsRolled, TokenRolled,
            LogIn, LogOut, LogInFail, CredentialsRolled, TokenRolled
      properties:
        id:
          type: string
        active:
          type: boolean
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        remoteAddress:
          type: string
        details:
          type: string
        accessType:
          type: string
      required:
        - accessType
        - active
        - created
        - details
        - id
        - remoteAddress
        - updated
    LogIn:
      allOf:
        - description: Circular reference to AccessAudit
      required:
        - accessType
  securitySchemes:
    ApiToken:
      type: http
      scheme: bearer
      bearerFormat: API Token
    basic:
      type: http
      scheme: basic

````

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