HackNotice API

REST API over the HackNotice threat-intelligence platform: authentication, leak and leak-file search, first-party domain watchlists and alerts, third-party vendor watchlists, hacks and alerts, end-user watchlists and alerts, threat-research search over terms, filenames and word pools, vendor security assessments with AI scoring, and aggregate calculation endpoints. Documented by HackNotice as a public Postman collection; access is granted to approved accounts after a consultation call.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hacknotice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hacknotice-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: HackNotice API
  version: '2026-08-22'
  summary: External threat-intelligence API for first-party, third-party and end-user breach monitoring, threat research and
    vendor assessments.
  description: 'HackNotice''s REST API over its external threat-intelligence platform: credential and breach alerts for first-party
    domains, third-party vendors and end users; dark-web / hacker-forum research search; and AI-assisted vendor security assessments.


    PROVENANCE: this document was DERIVED by API Evangelist from HackNotice''s own published Postman collection "HackNotice-API",
    reached at https://api-docs.hacknotice.com (HTTP 301 -> https://documenter.getpostman.com/view/806684/2sBXiri7pT), linked
    from HackNotice''s help centre article "API". Paths, methods, parameters, request bodies and tags are transcribed from
    that collection; nothing was invented. Concrete record ids in the collection''s example URLs were templated into path
    parameters, and every token-shaped example value was redacted.


    HackNotice publishes a rate limit of 1 query per second, and states that API access is granted to approved accounts only
    after a 30-minute consultation call.'
  termsOfService: https://hacknotice.com/businesstandc/
  contact:
    name: HackNotice Support
    url: https://hacknotice.zendesk.com/hc/en-us
    email: support@hacknotice.com
  x-api-evangelist-derived-from: https://api-docs.hacknotice.com
servers:
- url: https://extensionapi.hacknotice.com
  description: HackNotice production API host, as declared by HackNotice's own first-party n8n node (API_BASE_URL in credentials/HackNoticeApi.credentials.ts,
    github.com/HackNotice/n8n-nodes-hacknotice). The published Postman collection ships an internal {{url}} variable pointing
    at a developer VPN host, which is not the production base.
tags:
- name: All Business Accounts
  description: Authentication, leak/leakfile search, customer records, metrics, habits, downloads, utilities and item notes
    shared by every business account.
- name: Research Service Accounts
  description: Threat-research search over terms, filenames and word pools, plus saved searches.
- name: Third Party Accounts
  description: 'Third-party vendor monitoring: hacks, hack updates, watchlists, alerts and vendor security assessments.'
- name: Domain Business Accounts
  description: 'First-party domain monitoring: domain watchlists, domain leaks, domain alerts and downloads.'
- name: Enduser Business Accounts
  description: 'End-user monitoring: end-user watchlists, end-user leaks and end-user alerts.'
- name: Deprecated
  description: Endpoints HackNotice groups as deprecated in its published collection (dark hash alerts, Teams accounts).
- name: Alerts
  description: Cross-service alert retrieval.
- name: Calc endpoints
  description: Aggregate/rollup calculation endpoints for breaches, threat actors and per-service alerts.
security:
- jwtAuth: []
- apiKeyAuth: []
paths:
  /assessmentdatafiles/count:
    post:
      tags:
      - Third Party Accounts
      summary: Get the count of documents
      operationId: postGetTheCountOfDocuments2
      description: 'Folder: Assessments / assessment data files. Get the count of documents'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/download/{documentId}:
    get:
      tags:
      - Third Party Accounts
      summary: Download a doc
      operationId: getDownloadADoc2
      description: 'Folder: Assessments / assessment data files. Download a Doc Purpose: Download the binary file for an assessment
        data file. Path Parameters Parameter Description docId Assessment data file document ID Behavior Streams file content
        from private storage Sets Content-Disposition using stored filename when available Responses Status Description 200
        Binary file stream 400 Missing docId path parameter 401 Unauthorized user 404 File not found'
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/invited:
    post:
      tags:
      - Third Party Accounts
      summary: Create a doc
      operationId: postCreateADoc5
      description: 'Folder: Assessments / assessment data files / invited assessment data files. Create Invited Assessment
        Data File Purpose: Upload a file for an assessment shared with the invited user. Auth Authorization: JWT REDACTED_EXAMPLE_TOKEN
        Content Type multipart/form-data Form-Data Fields Field Type Required Description assessment_id text Yes Target assessment
        ID the invited user can access data file Yes File to upload filename text No Optional display filename override note
        text No Optional note/description Responses Status Description 200 Created file metadata document 400 Missing assessment_id
        or missing data file field 401 Unauthorized user or invite access not valid'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                data:
                  type: string
                  format: binary
                assessment_id:
                  type: string
                filename:
                  type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/invited/count:
    post:
      tags:
      - Third Party Accounts
      summary: Get the count of documents
      operationId: postGetTheCountOfDocuments
      description: 'Folder: Assessments / assessment data files / invited assessment data files. Get the Count of Documents
        Purpose: Return the total number of invited assessment data files for one assessment. Request Body Field Type Required
        Description assessment_id string Yes Assessment ID to count files for Body Example { "assessment_id": "69aadd3f4620e8b72b9ffffc"
        } Responses Status Description 200 Numeric count (for example 4 ) 400 Missing assessment_id 401 Unauthorized user
        or invite access not valid'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_id:
                  type: string
            example:
              assessment_id: 69aadd3f4620e8b72b9ffffc
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/invited/download/{documentId}:
    get:
      tags:
      - Third Party Accounts
      summary: Download a doc
      operationId: getDownloadADoc
      description: 'Folder: Assessments / assessment data files / invited assessment data files. Download a Doc Purpose: Download
        the binary file for an invited assessment data file. Path Parameters Parameter Description docId Assessment data file
        document ID Behavior Streams file content from private storage Sets Content-Disposition using stored filename when
        available Responses Status Description 200 Binary file stream 400 Missing docId path parameter 401 Unauthorized user
        or invite access not valid 404 File not found'
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/invited/page/{pageNum}:
    post:
      tags:
      - Third Party Accounts
      summary: Read a page of documents
      operationId: postReadAPageOfDocuments3
      description: 'Folder: Assessments / assessment data files / invited assessment data files. Read a Page of Documents
        Purpose: Return a paginated list of invited assessment data files for one assessment. Path Parameters Parameter Description
        pageNum Zero-based page index. Page size is fixed at 50 . Request Body Field Type Required Description assessment_id
        string Yes Assessment ID to list files for Body Example { "assessment_id": "69aadd3f4620e8b72b9ffffc" } Responses
        Status Description 200 Array of file metadata documents (newest first) 400 Missing assessment_id 401 Unauthorized
        user or invite access not valid'
      parameters:
      - name: pageNum
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_id:
                  type: string
            example:
              assessment_id: 69aadd3f4620e8b72b9ffffc
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/invited/{documentId}:
    get:
      tags:
      - Third Party Accounts
      summary: Read a doc
      operationId: getReadADoc6
      description: 'Folder: Assessments / assessment data files / invited assessment data files. Read a Doc Purpose: Return
        metadata for one invited assessment data file by document ID. Path Parameters Parameter Description docId Assessment
        data file document ID Responses Status Description 200 File metadata document 400 Missing docId path parameter 401
        Unauthorized user or invite access not valid 404 File not found'
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
    delete:
      tags:
      - Third Party Accounts
      summary: Delete a doc
      operationId: deleteADoc6
      description: 'Folder: Assessments / assessment data files / invited assessment data files. Delete a Doc Purpose: Delete
        an invited assessment data file by document ID. Path Parameters Parameter Description docId Assessment data file document
        ID Behavior Invited users can only delete files they uploaded themselves Valid invite/share access to the related
        assessment is still required Deletes both file record and underlying file object Responses Status Description 200
        File successfully deleted 400 Missing docId path parameter 401 Unauthorized user or invite access not valid 404 File
        not found or user did not upload this file 200 Response Example { "message": "File successfully deleted" }'
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/page/{pageNum}:
    post:
      tags:
      - Third Party Accounts
      summary: Read a page of documents
      operationId: postReadAPageOfDocuments4
      description: 'Folder: Assessments / assessment data files. Read all domains.'
      parameters:
      - name: pageNum
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentdatafiles/{fileId}:
    get:
      tags:
      - Third Party Accounts
      summary: Read a doc
      operationId: getReadADoc7
      description: 'Folder: Assessments / assessment data files. Read a Doc Purpose: Return metadata for one assessment data
        file by document ID. Path Parameters Parameter Description docId Assessment data file document ID Responses Status
        Description 200 File metadata document 400 Missing docId path parameter 401 Unauthorized user 404 File not found'
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
    put:
      tags:
      - Third Party Accounts
      summary: Update a doc
      operationId: putUpdateADoc4
      description: 'Folder: Assessments / assessment data files. Update a Doc Purpose: Update metadata for one assessment
        data file. Path Parameters Parameter Description docId Assessment data file document ID Request Body (Allowed Field)
        Field Type Description note string Updates note/description for the file Body Example { "note": "Updated evidence
        note" } Responses Status Description 200 Updated file metadata document 400 Missing docId path parameter 401 Unauthorized
        user 404 File not found'
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
            example:
              note: note2
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
    delete:
      tags:
      - Third Party Accounts
      summary: Delete a doc
      operationId: deleteADoc7
      description: 'Folder: Assessments / assessment data files. Delete a Doc Purpose: Delete an assessment data file by document
        ID. Path Parameters Parameter Description docId Assessment data file document ID Behavior Deletes both file record
        and underlying file object Responses Status Description 200 File successfully deleted 400 Missing docId path parameter
        401 Unauthorized user 404 File not found 200 Response Example { "message": "File successfully deleted" }'
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentevents:
    post:
      tags:
      - Third Party Accounts
      summary: Create assessment event
      operationId: postCreateAssessmentEvent
      description: 'Folder: Assessments / assessmentevents. Create a new assessment event for the authenticated customer.
        Access Rule User must belong to an allowed customer type and be authenticated. Request Body Field Type Required Description
        assessment_id string ✅ Required The ID of the assessment this event belongs to. action string Optional The action
        being recorded (e.g. review_started ). assessor_notes string Optional Notes added by the assessor. company_notes string
        Optional Notes added by the company/vendor. file_link string Optional URL to a linked evidence file. assessment_data_file_id
        string Optional ID of an uploaded assessment data file. complete boolean Optional Whether the event marks the assessment
        as complete. Body Example: { "assessment_id": "64f1c8...", "action": "review_started", "assessor_notes": "Initial
        review completed", "company_notes": "Vendor provided SOC report", "file_link": "https://example.com/evidence.pdf",
        "assessment_data_file_id": "65ab...", "complete": false } Server-side Behavior The following fields are set automatically
        by the API and should not be included in the request body: customer_id user_id timestamp Responses Status Description
        200 OK Event successfully created. Returns the created event object. 400 Bad Request assessment_id is missing from
        the request body. 401 Unauthorized User is not authenticated or token is invalid.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_id:
                  type: string
                action:
                  type: string
                assessor_notes:
                  type: string
                company_notes:
                  type: string
                file_link:
                  type: string
                complete:
                  type: boolean
            example:
              assessment_id: 69a73dc2c0deb2b4840f44fc
              action: review_started
              assessor_notes: Initial review completed. Waiting on vendor responses.
              company_notes: Vendor requested 2-week extension.
              file_link: https://storage.example.com/assessments/evidence.pdf
              complete: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentevents/count:
    post:
      tags:
      - Third Party Accounts
      summary: Count assessment events
      operationId: postCountAssessmentEvents
      description: 'Folder: Assessments / assessmentevents. Return the total number of assessment events for the authenticated
        customer. Request Body All fields are optional. If no body is provided, the count covers all events for the caller''s
        customer. Field Type Required Description assessment_id string Optional If provided, restricts the count to events
        belonging to this assessment. Body Example: { "assessment_id": "64f1c8..." } Behavior Counts only records scoped to
        the caller''s customer_id . If assessment_id is provided, returns the count for that specific assessment only. Responses
        Status Description 200 OK Returns a numeric count of matching assessment events. 401 Unauthorized User is not authenticated
        or token is invalid. 200 Response Example: 42'
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentevents/invited:
    post:
      tags:
      - Third Party Accounts
      summary: Create invited assessment event
      operationId: postCreateInvitedAssessmentEvent
      description: 'Folder: Assessments / assessmentevents / invited. Creates a new event, note, or action for an assessment
        that the invited user has access to. Access Rule The user must have a valid invite or share link for the specified
        assessment_id . Request Body (JSON) Field Type Required Description assessment_id string ✅ Yes The ID of the assessment
        to attach the event to action string No The type of action (e.g. comment , review_started ) assessor_notes string
        No Notes added by the assessor company_notes string No Notes added by the company file_link string No URL to an associated
        file assessment_data_file_id string No ID of an uploaded assessment data file complete boolean No Whether the assessment
        is marked as complete Example: { "assessment_id": "64f1c8...", "action": "comment", "assessor_notes": "Reviewed controls",
        "company_notes": "Need SOC2 evidence", "file_link": "https://example.com/file.pdf", "assessment_data_file_id": "65ab...",
        "complete": false } Responses Status Description 200 OK Event created successfully. Returns the created event object.
        400 Bad Request assessment_id is missing from the request body. 401 Unauthorized User is not authorized for the specified
        assessment.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_id:
                  type: string
                action:
                  type: string
                assessor_notes:
                  type: string
                company_notes:
                  type: string
                file_link:
                  type: string
                complete:
                  type: boolean
            example:
              assessment_id: 69a73dc2c0deb2b4840f44fc
              action: review_started
              assessor_notes: Initial review completed. Waiting on vendor responses.
              company_notes: Vendor requested 2-week extension.
              file_link: https://storage.example.com/assessments/evidence.pdf
              complete: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentevents/invited/page/{pageNum}:
    post:
      tags:
      - Third Party Accounts
      summary: List invited assessment events (paginated)
      operationId: postListInvitedAssessmentEventsPaginated
      description: 'Folder: Assessments / assessmentevents / invited. Returns up to 50 events for a single assessment, sorted
        by newest first. Path Parameters Parameter Description pageNum Zero-based page number. Page 0 returns the first 50
        records. Request Body (JSON) Field Type Required Description assessment_id string ✅ Yes The ID of the assessment to
        retrieve events for Note: assessment_id is required in the request body even though this is a paginated read operation,
        due to the current implementation. Example: { "assessment_id": "64f1c8..." } Responses Status Description 200 OK Returns
        an array of event objects for the assessment. 400 Bad Request assessment_id is missing from the request body. 401
        Unauthorized The invite or share link is invalid or has expired.'
      parameters:
      - name: pageNum
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_id:
                  type: string
            example:
              assessment_id: 69a73dc2c0deb2b4840f44fc
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentevents/invited/{documentId}:
    get:
      tags:
      - Third Party Accounts
      summary: Get one invited assessment event
      operationId: getOneInvitedAssessmentEvent
      description: 'Folder: Assessments / assessmentevents / invited. Fetch a single assessment event by its ID. Access Rule
        The user must have valid access to the assessment the event belongs to. Path Parameters Parameter Description docId
        The ID of the event to retrieve. Responses Status Description 200 OK Returns the event object. 400 Bad Request docId
        is missing. 401 Unauthorized User does not have valid access to the assessment. 404 Not Found No event found for the
        given ID.'
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
    delete:
      tags:
      - Third Party Accounts
      summary: Delete one invited assessment event
      operationId: deleteOneInvitedAssessmentEvent
      description: 'Folder: Assessments / assessmentevents / invited. Delete an event previously created by the invited user.
        Path Parameters Parameter Description docId The ID of the event to delete. Responses Status Description 200 OK Event
        successfully deleted. 400 Bad Request docId is missing. 401 Unauthorized User does not have valid access. 404 Not
        Found Event not found, or not owned by this invited user. 200 Response Example: { "message": "Assessment event successfully
        deleted" }'
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
    put:
      tags:
      - Third Party Accounts
      summary: Update one invited assessment event
      operationId: putUpdateOneInvitedAssessmentEvent
      description: 'Folder: Assessments / assessmentevents / invited. Update an event previously created by the invited user.
        Path Parameters Parameter Description docId The ID of the event to update. Request Body (JSON) Only the following
        fields can be updated: Field Type Description action string The type of action (e.g. comment ) assessor_notes string
        Notes added by the assessor company_notes string Notes added by the company file_link string URL to an associated
        file assessment_data_file_id string ID of an uploaded assessment data file complete boolean Whether the assessment
        is marked as complete Example: { "assessor_notes": "Updated after follow-up", "complete": true } Responses Status
        Description 200 OK Returns the updated event object. 400 Bad Request docId is missing. 401 Unauthorized User does
        not have valid access. 404 Not Found Event not found, or not owned by this invited user.'
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                file_link:
                  type: string
            example:
              file_link: https://storage.example.com/assessments/evidence2.pdf
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized — missing or invalid JWT / API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - jwtAuth: []
      - apiKeyAuth: []
  /assessmentevents/page/{pageNum}:
    post:
      tags:
      - Third Party Accounts
      summary: List assessment events (paginated)
      operationId: postListAssessmentEventsPaginated
      description: 'Folder: Assessments / assessmentevents. Get a paginated list of assessment events for the authenticated
        customer. Path Parameters Parameter Type Description pageNum integer Zero-based page index. Use 0 for the first page.
        Request Body (Optional) Field Type Description assessment_id string If provided, filters results to events belonging
        to this assessment. Example: { "assessment_id": "64f1c8..." } Behavior Returns only events belonging to the authenticated
        user''s customer_id If assessment_id is provided, results are filtered to that assessment Results are sorted by timestamp
        desc

# --- truncated at 32 KB (448 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hacknotice/refs/heads/main/openapi/hacknotice-openapi.yml