---
title: "Batch Get Accounts"
method: POST
path: "/directory/accounts:batch"
tags: ["directory"]
---

# Batch Get Accounts

`POST /directory/accounts:batch`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/directory/accounts:batch`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`

Resolve many account ids to directory records in one round trip — the same {email, name, role, tenant, active, kyc_verified} projection as getDirectoryAccount. An id in account_ids that fails to parse as a UUID is silently skipped rather than failing the whole batch, so the response can be shorter than the request.

## Request body

- InternalDeliveryHttpHandlerBatchRequest
  - `account_ids` string[]

## Response `200`

OK

- InternalDeliveryHttpHandlerDirectoryRecordListResponse
  - `count` integer
  - `data` EnforcerV3InternalUsecaseDirectoryRecord[]
    - `account_id` string
    - `active` boolean
    - `email` string
    - `first_name` string
    - `kyc_verified` boolean
    - `last_name` string
    - `person_id` string
    - `phone` string: person's primary phone; filled only when persons is wired
    - `role` string
    - `tenant_id` string
    - `username` string
    - `wallet_address` string
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `500`: Internal Server Error

---

[API](https://skmtc.dev/instruxi/apis/enforcer-api.md) · [All operations](https://skmtc.dev/instruxi/apis/enforcer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/instruxi/apis/enforcer-api/revisions/fa82bc1becc0?raw)
