Skip to content

Owners Endpoints

The Owners API provides endpoints for managing identity owners, their accounts, and organizational relationships.

Base URL

All endpoints are relative to /api/v1/owners.


List Owners

Retrieve a paginated list of owners.

http
GET /api/v1/owners

Query Parameters

ParameterTypeDescription
searchstringSearch by name or email
departmentstringFilter by department
statusstringFilter by status (active, inactive)
owner_typestringFilter by type (human, service, federated)
firstnumberNumber of items to return
afterstringCursor for pagination

Response

json
{
  "owners": [
    {
      "id": "own-123",
      "name": "John Doe",
      "email": "john.doe@company.com",
      "department": "Engineering",
      "title": "Senior Developer",
      "owner_type": "human",
      "status": "active",
      "created_at": "2024-01-15T10:30:00Z"
    }
  ],
  "pageInfo": {
    "hasNextPage": true,
    "endCursor": "cursor-token"
  }
}

Get Owner

Retrieve details for a specific owner.

http
GET /api/v1/owners/{id}

Path Parameters

ParameterTypeDescription
idstringOwner ID

Response

Returns the complete owner object with all fields.


Create Owner

Create a new owner record.

http
POST /api/v1/owners

::: note Administrator Only This endpoint requires Administrator role. :::

Request Body

json
{
  "name": "Jane Smith",
  "email": "jane.smith@company.com",
  "department": "Finance",
  "title": "Financial Analyst",
  "owner_type": "human"
}

Response

Returns the created owner object.


Update Owner

Update an existing owner.

http
PUT /api/v1/owners/{id}

::: note Administrator Only This endpoint requires Administrator role. :::

Path Parameters

ParameterTypeDescription
idstringOwner ID

Request Body

Include only the fields to update.

Response

Returns the updated owner object.


Delete Owner

Delete an owner record.

http
DELETE /api/v1/owners/{id}

::: note Administrator Only This endpoint requires Administrator role. :::

Path Parameters

ParameterTypeDescription
idstringOwner ID

Response

Returns 204 No Content on success.


Sync Owners

Trigger owner synchronization from data sources.

http
POST /api/v1/owners/sync

::: note Administrator Only This endpoint requires Administrator role. :::

Response

json
{
  "status": "queued",
  "message": "Owner sync initiated"
}

Get Owner Accounts

Retrieve accounts owned by a specific owner.

http
GET /api/v1/owners/{id}/accounts

Path Parameters

ParameterTypeDescription
idstringOwner ID

Response

json
{
  "accounts": [
    {
      "id": "acc-123",
      "name": "john.doe",
      "email": "john.doe@company.com",
      "application": "Salesforce",
      "status": "active"
    }
  ],
  "count": 5
}

Batch Get Owner Accounts

Retrieve accounts for multiple owners in a single request.

http
POST /api/v1/owners/accounts

Request Body

json
{
  "owner_ids": ["own-123", "own-456"]
}

Response

json
{
  "own-123": [...accounts],
  "own-456": [...accounts]
}

Get Owner Manager

Retrieve the manager of an owner.

http
GET /api/v1/owners/{id}/manager

Path Parameters

ParameterTypeDescription
idstringOwner ID

Response

Returns the manager owner object, or null if no manager is assigned.


Get Direct Reports

Retrieve direct reports of an owner.

http
GET /api/v1/owners/{id}/direct-reports

Path Parameters

ParameterTypeDescription
idstringOwner ID

Response

json
{
  "direct_reports": [
    {
      "id": "own-456",
      "name": "Jane Smith",
      "email": "jane.smith@company.com",
      "title": "Developer"
    }
  ],
  "count": 3
}

Get Owner Roles

Retrieve roles assigned to an owner.

http
GET /api/v1/owners/{id}/roles

Path Parameters

ParameterTypeDescription
idstringOwner ID

Response

json
{
  "roles": [
    {
      "id": "role-123",
      "name": "Engineering - Senior",
      "department": "Engineering",
      "title": "Senior Developer"
    }
  ]
}

Get Owner Audit Trail

Retrieve audit trail for an owner.

http
GET /api/v1/owners/{id}/audit-trail

Path Parameters

ParameterTypeDescription
idstringOwner ID

Query Parameters

ParameterTypeDescription
limitnumberNumber of entries to return

Response

json
{
  "entries": [
    {
      "timestamp": "2024-02-01T10:00:00Z",
      "action": "account_added",
      "details": "Account acc-789 linked to owner"
    }
  ]
}

Owner Statistics and Risk Metrics

Get Owner Statistics

Retrieve calculated statistics and risk metrics for an owner.

http
GET /api/v1/owners/{id}/statistics

Path Parameters

ParameterTypeDescription
idstringOwner ID

Response

json
{
  "identity_info": {
    "identity_id": "user-123",
    "identity_name": "John Doe",
    "identity_email": "john.doe@company.com",
    "alt_email": "jdoe@personal.com",
    "department": "Engineering",
    "title": "Senior Developer",
    "location": "New York",
    "manager": "Jane Manager",
    "owner_type": "Employee",
    "status": "Active"
  },
  "contact_info": {
    "mobile_phone": "+1-555-0123",
    "phone": "+1-555-0199"
  },
  "employment_info": {
    "start_date": "2020-01-15",
    "end_date": null
  },
  "account_statistics": {
    "total_accounts": 12,
    "active_accounts": 10,
    "disabled_accounts": 2,
    "child_count": 12
  },
  "risk_metrics": {
    "total_threat": "45",
    "breached_accounts": "0",
    "accounts_without_mfa": "3",
    "privileged_accounts_not_vaulted": "1",
    "shared_accounts": "0",
    "inactive_owners_enabled_accounts": "0"
  },
  "activity_metrics": {
    "not_used_90": "2",
    "not_used_180": "1",
    "not_used_365": "0",
    "failed_logins_in_hour": "0"
  },
  "password_security": {
    "accounts_with_password_never": "0",
    "accounts_with_password_90": "1",
    "accounts_with_password_180": "2",
    "accounts_with_password_365": "0"
  },
  "privilege_metrics": {
    "all_privileged_groups": "2",
    "highly_privileged_groups": "0",
    "highly_privileged_roles": "0"
  },
  "compliance_metrics": {
    "accounts_no_owner": "0",
    "mapped_accounts": "12",
    "account_group_deviation": "0"
  }
}

Get Owner Risk Assessment

Get detailed risk assessment for an owner showing risk factors across all their accounts.

http
GET /api/v1/owners/{id}/risk-assessment

Response

json
{
  "overall_risk_score": 45,
  "risk_level": "medium",
  "risk_factors": [
    {
      "category": "MFA Gaps",
      "affected_accounts": 3,
      "severity": "medium",
      "description": "Accounts without multi-factor authentication"
    },
    {
      "category": "Stale Accounts",
      "affected_accounts": 2,
      "severity": "low",
      "description": "Accounts not used in 90+ days"
    }
  ],
  "recommendations": [
    "Enable MFA on all accounts",
    "Review and disable unused accounts"
  ]
}

Search Owners by Metadata

Perform advanced searches using dynamic field queries.

http
POST /api/v1/owners/search

Request Body

json
{
  "search_terms": ["engineering", "senior"],
  "search_operator": "AND",
  "search_fields": ["department", "title"],
  "field_queries": [
    {
      "field": "status",
      "operator": "equals",
      "value": "Active"
    },
    {
      "field": "total_threat",
      "operator": "greater_than",
      "value": 50
    }
  ],
  "limit": 50,
  "after": "cursor-token"
}

Response

Returns paginated list of owners matching the search criteria.


Error Responses

Status CodeDescription
400Bad Request - Invalid parameters
401Unauthorized - Authentication required
403Forbidden - Insufficient permissions
404Not Found - Owner does not exist
500Internal Server Error

Hydden Documentation and Training Hub