Audit & Compliance

GET /audit

Retrieve comprehensive audit trails for UIP signatures using task hashes.

Endpoint

API Endpoint
GET https://audit.api.uip.id/v1/{task_hash}

Headers

Authorization: Bearer YOUR_API_KEY

Path Parameters

ParameterTypeDescription
task_hashstringThe unique task hash returned from signature operations

Response

{
  "task_hash": "task_a1b2c3d4e5f6789012345678901234567890abcdef",
  "signature_type": "document_signature",
  "status": "completed",
  "created_at": "2024-01-15T10:30:00Z",
  "completed_at": "2024-01-15T10:45:00Z",
  "document": {
    "title": "Employment Contract",
    "hash": "sha256:a1b2c3d4e5f6...",
    "filename": "contract.pdf",
    "size": 1048576
  },
  "signer": {
    "uip_id": "uip_user_1234567890",
    "full_name": "Alice Johnson",
    "verification_level": "government_id",
    "country": "US",
    "signed_at": "2024-01-15T10:45:00Z"
  },
  "signature": {
    "value": "uip_sig_abc123def456...",
    "algorithm": "EdDSA",
    "device_id": "device_xyz789"
  },
  "metadata": {
    "ip_address": "192.168.1.1",
    "user_agent": "UIP Mobile iOS/2.1.0",
    "location": {
      "country": "US",
      "city": "San Francisco",
      "coordinates": "37.7749,-122.4194"
    }
  },
  "audit_trail": [
    {
      "event": "signature_requested",
      "timestamp": "2024-01-15T10:30:00Z"
    },
    {
      "event": "document_viewed",
      "timestamp": "2024-01-15T10:40:00Z"
    },
    {
      "event": "signature_completed",
      "timestamp": "2024-01-15T10:45:00Z"
    }
  ]
}

Complete Audit Trail

All signature operations return a task_hash for future audit retrieval. Store this hash for compliance and legal verification purposes.

Code Implementation

// JavaScript
async function getAuditTrail(taskHash) {
  const response = await fetch('https://audit.api.uip.id/v1/' + taskHash, {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer ' + YOUR_API_KEY
    }
  });

  if (!response.ok) {
    if (response.status === 404) {
      throw new Error('Audit trail not found');
    }
    throw new Error('HTTP error! status: ' + response.status);
  }

  const auditData = await response.json();
  return auditData;
}

// Usage
const taskHash = 'task_a1b2c3d4e5f6789012345678901234567890abcdef';
const audit = await getAuditTrail(taskHash);

console.log('Signature Status:', audit.status);
console.log('Signer:', audit.signer.full_name);
console.log('Signed at:', audit.signer.signed_at);
console.log('Document:', audit.document.title);

// Export for compliance
const auditReport = {
  task: audit.task_hash,
  signer: audit.signer.full_name,
  document: audit.document.title,
  timestamp: audit.completed_at,
  verified: audit.signer.verification_level === 'government_id'
};

console.log('Audit Report:', JSON.stringify(auditReport, null, 2));

Common Use Cases

1 Legal Compliance

Retrieve complete signature audit trails for legal proceedings, regulatory compliance, and contract disputes. Prove who signed what and when.

2 Signature Verification

Verify the authenticity of signatures with cryptographic proof, signer identity verification level, and complete metadata including device and location information.

3 Audit Reporting

Generate comprehensive audit reports for internal compliance, external audits, and regulatory submissions with timestamped event trails.