Skip to main content

PartnerCustomerUser

One row of a customer's Users tab on the partner record: a buyer login.

type PartnerCustomerUser {
approverScope: String!
approvesOrders: Boolean!
assignedAddressIds: [ID!]!
createdAt: DateTime!
email: String!
firstName: String!
id: ID!
inviteStatus: String!
lastLoginAt: DateTime
lastName: String!
orderLimit: Float
referenceId: String!
role: String!
status: String!
}

Fields​

PartnerCustomerUser.approverScope ● String! non-null scalar​

approver reach — COMPANY (every request at this partner, incl. branchless ones) | BRANCH (only the branches granted in addresses). Meaningful only when approvesOrders; an Owner is always company-wide.

PartnerCustomerUser.approvesOrders ● Boolean! non-null scalar​

User.approvesCustomerOrders — may decide teammates' parked over-limit orders. Always true for an Owner (that is what owning the account means).

PartnerCustomerUser.assignedAddressIds ● [ID!]! non-null scalar​

Addresses assigned to this user. Meaning depends on role — for CUSTOMER_ADMIN, empty means UNRESTRICTED (whole account address book); for CUSTOMER_BUYER / CUSTOMER_VIEWER, empty means NONE assigned (denied, per resolveAddressScope). On the list so the Users tab can show each login's reach without opening every row.

PartnerCustomerUser.createdAt ● DateTime! non-null scalar​

When the record was created.

PartnerCustomerUser.email ● String! non-null scalar​

Email address.

PartnerCustomerUser.firstName ● String! non-null scalar​

The person's first name.

PartnerCustomerUser.id ● ID! non-null scalar​

The unique ID of this record.

PartnerCustomerUser.inviteStatus ● String! non-null scalar​

PENDING (invited, not yet accepted) | ACTIVE (accepted + enabled) | DEACTIVATED (accepted, access revoked).

PartnerCustomerUser.lastLoginAt ● DateTime scalar​

When the person last signed in.

PartnerCustomerUser.lastName ● String! non-null scalar​

The person's last name.

PartnerCustomerUser.orderLimit ● Float scalar​

Per-order ceiling in the org base currency (User.customerOrderLimit). Null = no limit. Only bites in Company mode — in branch mode the BRANCH's own orderLimit is the only value limit (rule 1), and an Owner is never order-value checked at all.

PartnerCustomerUser.referenceId ● String! non-null scalar​

Reference id shown in the admin console — <customer code>@<firstnamelastname> (e.g. C000049@gowrivijayan). DERIVED on read from Partner.code + the user's name, not a stored column, and not unique — display only, never a lookup key. Empty string when the partner has no code or the user has no name.

PartnerCustomerUser.role ● String! non-null scalar​

CUSTOMER_ADMIN (Owner) | CUSTOMER_BUYER | CUSTOMER_VIEWER — the SAME vocabulary the buyer-side team screen uses (CUSTOMER_TEAM_ROLES). The founding self-registered user is CUSTOMER_ADMIN; invited users hold whatever role the invite carried (default CUSTOMER_BUYER).

PartnerCustomerUser.status ● String! non-null scalar​

The raw User.status — ACTIVE | INACTIVE (invite outstanding) | SUSPENDED (access revoked). Prefer inviteStatus, which reads the same row as the three states the UI shows.

Returned By​

partnerCustomerUsers query