UpGuard dataleaks API

The dataleaks API from UpGuard — 2 operation(s) for dataleaks.

OpenAPI Specification

upguard-dataleaks-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: 'Access information from the CyberRisk platform programmatically using this API.


    You can find or generate an API key to access this API in your CyberRisk Account Settings.

    Please authorize all requests by setting the "Authorization" header to your api key.


    The base url for all public endpoints is https://cyber-risk.upguard.com/api/public'
  title: UpGuard CyberRisk breaches dataleaks API
  version: 1.13.2
host: cyber-risk.upguard.com
basePath: /api/public
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- API key in header: []
tags:
- name: dataleaks
paths:
  /dataleaks/disclosures:
    get:
      description: 'Returns a list of the disclosures in your account matching the given filters.


        Required API key permissions: `DataLeaks` (select when creating API key in Account Settings)'
      tags:
      - dataleaks
      summary: Get a list of disclosures
      operationId: dataleaks_disclosures
      parameters:
      - type: string
        format: date-time
        description: The minimum (non-inclusive) timestamp of a disclosure (RFC 3339 format).
        name: min_time
        in: query
      - type: string
        format: date-time
        description: The maximum (non-inclusive) timestamp of a disclosure (RFC 3339 format).
        name: max_time
        in: query
      - enum:
        - Disclosed
        - Acknowledged
        - Investigating
        - Remediating
        - ClosedNoIssue
        - ClosedRiskAccepted
        - ClosedFixedUnverified
        - ClosedFixedVerified
        type: string
        description: A comma-delimited list of statuses that disclosures should match.
        name: statuses
        in: query
      - type: string
        description: A comma-delimited list of IDs that disclosures should match.
        name: ids
        in: query
      responses:
        '200':
          description: Data Leaks disclosed
          schema:
            $ref: '#/definitions/DataLeaksDisclosuresResponsePayloadBody'
        '403':
          description: Your API key does not have permission to perform this action.
          schema:
            $ref: '#/definitions/endpointError'
        '422':
          description: An invalid parameter was supplied or a mandatory parameter was missing
          schema:
            $ref: '#/definitions/endpointError'
        '429':
          description: Too many requests have been made to this endpoint.
          schema:
            $ref: '#/definitions/endpointError'
        '500':
          description: An internal system error occurred
          schema:
            $ref: '#/definitions/endpointError'
  /dataleaks/disclosures/status:
    put:
      description: 'Required API key permissions: `DataLeaks` (select when creating API key in Account Settings)'
      tags:
      - dataleaks
      summary: Update the status of a disclosure
      operationId: dataleaks_disclosures_update_status
      parameters:
      - type: integer
        format: int64
        description: The ID of the disclosure
        name: disclosure_id
        in: query
        required: true
      - enum:
        - Acknowledged
        - Investigating
        - Remediating
        - ClosedNoIssue
        - ClosedRiskAccepted
        - ClosedFixedUnverified
        type: string
        description: The new status for the disclosure
        name: new_status
        in: query
        required: true
      - type: string
        description: The email address of the user changing the status (must have a Cyber Risk account with the "Data Leaks" role).
        name: user_email
        in: query
      - type: string
        description: A comment to accompany the status change, if required
        name: comment
        in: query
      responses:
        '204':
          description: ' Successful response is empty'
        '403':
          description: Your API key does not have permission to perform this action.
          schema:
            $ref: '#/definitions/endpointError'
        '422':
          description: An invalid parameter was supplied or a mandatory parameter was missing
          schema:
            $ref: '#/definitions/endpointError'
        '429':
          description: Too many requests have been made to this endpoint.
          schema:
            $ref: '#/definitions/endpointError'
        '500':
          description: An internal system error occurred
          schema:
            $ref: '#/definitions/endpointError'
definitions:
  endpointError:
    description: Error details coming from an endpoint
    type: object
    properties:
      error:
        description: A description of the error
        type: string
  DataLeaksDisclosuresResponsePayloadBody:
    type: object
    properties:
      disclosures:
        type: array
        items:
          $ref: '#/definitions/DataLeaksDisclosure'
  DataLeaksDisclosure:
    type: object
    properties:
      date_disclosed:
        description: The date this disclosure was created (RFC 3339)
        type: string
        format: date-time
        example: '2019-11-09T03:48:57Z'
      description:
        description: Description of the disclosure
        type: string
        example: Leaked WordPress DB credentials
      id:
        description: The ID of the disclosure
        type: integer
        format: int64
        example: 3426
      image:
        description: An image/screenshot of the disclosure
        type: string
        example: data:image/png;base64,...
      implication:
        description: The nature of the risk
        type: string
        example: Exposed credentials
      payload:
        description: The JSON payload of the finding, if applicable
        type: string
        example: '{}'
      severity:
        description: The severity of the disclosure, between 1 and 10
        type: integer
        format: int64
        example: 7
      significance:
        description: A more detailed explanation of the significance/severity of the disclosure
        type: string
        example: These credentials are three years old. If they have not been changed, they could provide access to user data.
      source:
        description: The person or source the finding has been attributed to
        type: string
        example: The file's owner is john.doe
      status:
        description: Current status of the disclosure
        type: string
        example: Disclosed
      url:
        description: The URL to the finding
        type: string
        example: http://wordpresssite.com/wp_config.bak
securityDefinitions:
  API key in header:
    type: apiKey
    in: header
    name: Authorization