CipherOwl Private Data API API

Manage organization-scoped screening overrides (allowlists and denylists) for blockchain addresses.

OpenAPI Specification

cipherowl-private-data-api-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CipherOwl Onchain Service Private Data API API
  description: CipherOwl blockchain compliance and risk assessment APIs (Screening, Risk & Reporting; Onchain; Private Data).
  version: 2.1.0
servers:
- url: https://svc.cipherowl.ai
security:
- BearerAuth: []
tags:
- name: Private Data API
  description: Manage organization-scoped screening overrides (allowlists and denylists) for blockchain addresses.
paths:
  /api/private-data/v1/overrides/chains/{chain}/addresses/{address}:
    delete:
      summary: Delete override
      operationId: PrivateDataService_DeleteEntry
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1DeleteEntryResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: chain
        in: path
        required: true
        schema:
          type: string
      - name: address
        in: path
        required: true
        schema:
          type: string
      tags:
      - Private Data API
    get:
      summary: Get override
      operationId: PrivateDataService_GetEntry
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1GetEntryResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: chain
        in: path
        required: true
        schema:
          type: string
      - name: address
        in: path
        required: true
        schema:
          type: string
      tags:
      - Private Data API
  /api/private-data/v1/overrides/chains/{chain}/addresses:
    get:
      summary: List overrides
      operationId: PrivateDataService_ListEntriesForChain
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ListEntriesResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: chain
        in: path
        required: true
        schema:
          type: string
          example: bitcoin
      - name: listType
        description: 'Optional: filter by list type (if unspecified, returns all types)'
        in: query
        required: false
        schema:
          type: string
          enum:
          - LIST_TYPE_UNSPECIFIED
          - LIST_TYPE_ALLOWLIST
          - LIST_TYPE_DENYLIST
          default: LIST_TYPE_UNSPECIFIED
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pageToken
        in: query
        required: false
        schema:
          type: string
      - name: includeDeleted
        in: query
        required: false
        schema:
          type: boolean
      - name: sinceTimestamp
        description: 'Optional: if provided, only return entries modified since this timestamp'
        in: query
        required: false
        schema:
          type: string
          format: date-time
      tags:
      - Private Data API
    post:
      summary: Upsert override
      operationId: PrivateDataService_UpsertEntry
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1UpsertEntryResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: chain
        in: path
        required: true
        schema:
          type: string
          example: bitcoin
      tags:
      - Private Data API
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrivateDataServiceUpsertEntryBody'
components:
  schemas:
    v1OverrideEntry:
      type: object
      properties:
        orgId:
          type: string
        listType:
          $ref: '#/components/schemas/v1ListType'
        chain:
          type: string
        chainFamily:
          type: string
        address:
          type: string
        addLabels:
          type: array
          items:
            type: string
        removeLabels:
          type: array
          items:
            type: string
        notes:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        createdBy:
          type: string
        version:
          type: string
          format: int64
        deletedAt:
          type: string
          format: date-time
          title: null if not deleted
        updatedBy:
          type: string
      title: Override entry
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
      additionalProperties: {}
    v1ListType:
      type: string
      enum:
      - LIST_TYPE_UNSPECIFIED
      - LIST_TYPE_ALLOWLIST
      - LIST_TYPE_DENYLIST
      default: LIST_TYPE_UNSPECIFIED
      title: ListType enum for override entries
    v1GetEntryResponse:
      type: object
      properties:
        entry:
          $ref: '#/components/schemas/v1OverrideEntry'
      title: Response with a specific entry
    v1UpsertEntryResponse:
      type: object
      properties:
        entry:
          $ref: '#/components/schemas/v1OverrideEntry'
        created:
          type: boolean
          title: true if new entry, false if updated existing
      title: Response from upsert operation
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/protobufAny'
    PrivateDataServiceUpsertEntryBody:
      type: object
      properties:
        listType:
          $ref: '#/components/schemas/v1ListType'
        address:
          type: string
        addLabels:
          type: array
          items:
            type: string
        removeLabels:
          type: array
          items:
            type: string
        notes:
          type: string
        expectedVersion:
          type: string
          format: int64
          title: 0 for new entries, current version for updates
      title: Request to create or update an entry
    v1ListEntriesResponse:
      type: object
      properties:
        entries:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v1OverrideEntry'
        nextPageToken:
          type: string
      title: Response with list of entries
    v1DeleteEntryResponse:
      type: object
      properties:
        success:
          type: boolean
      title: Response from delete operation
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 access token obtained from /oauth/token using client credentials.