> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reap.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Corporate Employees

> Issue corporate cards to employees of a verified company without a KYC check on each employee.

Corporate employee issuance lets you give cards to the staff of a company that has passed [Universal KYB](/compliance/kyb/universal-kyb). The company's verification covers its employees, so you do not run KYC on each cardholder. You create the employee with their details and they are approved straight away.

This method applies to `CORPORATE` projects that use Universal KYB. Like every verification method, it is set when you onboard and is fixed per project. See the [KYC overview](/compliance/kyc/overview) for the shared status model and the other methods.

***

## How it works

1. Verify the company with [Universal KYB](/compliance/kyb/universal-kyb). Declare the email domains your employees use in the pack.
2. Wait for `COMPANY_STATUS_UPDATED` with `ACTIVE`. Reap's review also decides whether the company can have cards issued to its employees and which of its email domains are validated.
3. [Create the user](/api-reference/users/create-user) with `companyId`, the employee's work email, and their details. The user comes back with application status `APPROVED`.
4. Create an account and [issue a card](/api-reference/cards/create-card) as for any approved user.

```mermaid theme={null}
sequenceDiagram
    participant BE as Your backend
    participant Reap as Reap API

    BE->>Reap: Universal KYB for the company
    Reap-->>BE: COMPANY_STATUS_UPDATED (ACTIVE)
    BE->>Reap: Create user (companyId, work email, details)
    Reap-->>BE: user APPROVED
    BE->>Reap: Create account and card
    Reap-->>BE: card ACTIVE
```

***

## Employee details

`firstName` and `lastName` are required. These fields are optional:

* `dateOfBirth` in `YYYY-MM-DD` format. The employee must be at least 18 years old.
* `nationality` as an ISO 3166-1 alpha-2 code
* `country` (country of residence) as an ISO 3166-1 alpha-2 code

Reap does not verify these details. It carries them to the card as you supply them, so send what the company holds on record for the employee.

The three optional fields are used only on projects that use this method. On any other project the user's identity comes from KYC, and the fields are ignored.

***

## Email domains

The employee's email must be on one of the domains validated for their company. Reap checks it each time you issue a card, against the company's current validated domains. If the domain is not validated, create card returns `EMAIL_DOMAIN_NOT_VALIDATED`. [Update the employee's email](/api-reference/users/update-user-email) to one on a validated domain and retry.

To have a domain validated for a company that is already verified, contact your account manager.

***

## Errors

| Code | Returned by | Meaning |
| - | - | - |
| `INVALID_USER_DETAILS` | Create user | `firstName` or `lastName` is missing (`detail.reason` is `NAME_REQUIRED`). `detail.fields` names the fields. |
| `COMPANY_NOT_READY_FOR_CARD_ISSUANCE` | Create user, create card | The company is not `ACTIVE`, or its review did not allow cards for its employees. On create card, the company stopped qualifying after the employee was created. |
| `EMAIL_DOMAIN_NOT_VALIDATED` | Create card | The employee's email domain is not validated for the company. `detail.domain` names the domain. |
| `CARDHOLDER_COUNTRY_NOT_SUPPORTED` | Create card | Reap cannot issue cards under companies registered in this country. `detail.country` is the company's registered country. |

Contact your account manager when a company you expect to qualify returns `COMPANY_NOT_READY_FOR_CARD_ISSUANCE`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.