# Identity and agreements

User creation for SSO, identity verification, and agreement signing.

## UserInviteInfo

Users

```protobuf
message UserInviteInfo {
  string given_name = 1 [debug_redact = true];
  string surname = 2 [debug_redact = true];
  string email = 3 [debug_redact = true];
  string external_id = 4;
}
```

## BasicCapitalUserStatus

```protobuf
enum BasicCapitalUserStatus {
  UNKNOWN_BASIC_CAPITAL_USER_STATUS = 0;
  PENDING = 1;
  VERIFIED = 2;
}
```

## IdentityType

```protobuf
enum IdentityType {
  UNKNOWN_IDENTITY_TYPE = 0;
  COMPANY = 1;
  EMPLOYEE = 2;
}
```

## PartnerIdentityAssociation

```protobuf
message PartnerIdentityAssociation {
  string uuid = 1;
  string external_id = 2;
  IdentityType identity = 3;
}
```

**References:** [IdentityType](/core-data-types/identity-and-agreements#identitytype)

## VerificationProvider

```protobuf
enum VerificationProvider {
  UNKNOWN_VERIFICATION_PROVIDER = 0;
  FOOTPRINT = 1;
  DEEL = 2;
  FAKE_DEV = 3;
}
```

## VerificationType

```protobuf
enum VerificationType {
  UNKNOWN_VERIFICATION_TYPE = 0;
  PRIMARY_KYB = 1;
  TRUSTEE_KYC = 2;
  PRIMARY_KYC = 3;
}
```

## VerificationStatus

```protobuf
enum VerificationStatus {
  UNKNOWN_VERIFICATION_STATUS = 0;
  VERIFICATION_STATUS_VERIFIED = 1;
  VERIFICATION_STATUS_PENDING = 2;
  VERIFICATION_STATUS_FAILED = 3;
}
```

## Agreement

```protobuf
message Agreement {
  enum Type {
    UNKNOWN_TYPE = 0;
    ONBOARDING = 1;
    BENEFICIARY = 2;
    ROLLOVER = 3;
    DEFERRAL = 4;
    BROKERAGE_WINDOW = 5;
  }
  enum Status {
    UNKNOWN_STATUS = 0;
    GENERATING = 1;
    READY_TO_SIGN = 2;
    COMPLETE = 3;
  }

  string uuid = 1;
  string name = 2;
  optional string presigned_url = 3;
  Status status = 4;
  optional int64 signed_at = 5;
  Type type = 6;
}
```

## ConsentInfo

```protobuf
message ConsentInfo {
  string local_time = 1;
  string ip_address = 2;
  SignatureInfo signature_info = 3;
}
```

**References:** [SignatureInfo](/core-data-types/identity-and-agreements#signatureinfo)

## SignatureInfo

```protobuf
message SignatureInfo {
  Blob signature_data = 1;
  string signed_name = 2;
}
```

**References:** [Blob](/core-data-types/common#blob)