# DeveloperPortalInvitationDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

An invitation as the back office reads it.

## Fields
- `id` (string(uuid))
- `creationTime` (string(date-time)): The date and time when this entity was created.
- `creatorId` (string(uuid)): The ID of the user who created this entity. (nullable)
- `lastModificationTime` (string(date-time)): The date and time when this entity was last modified. (nullable)
- `lastModifierId` (string(uuid)): The ID of the user who last modified this entity. (nullable)
- `isDeleted` (boolean): Indicates whether this entity has been deleted.
- `deleterId` (string(uuid)): The ID of the user who deleted this entity, if it is deleted. (nullable)
- `deletionTime` (string(date-time)): The date and time when this entity was deleted, if it is deleted. (nullable)
- `merchantId` (string(uuid)): The merchant the invitation offers access to, or `null` when it offers access to a  reseller. Exactly one of this and `resellerId` is set. (nullable)
- `resellerId` (string(uuid)): The reseller the invitation offers access to, or `null` when it offers access to a  merchant. Exactly one of this and `merchantId` is set. (nullable)
- `email` (string): The address the invitation was emailed to. (nullable)
- `invitedIdentityUserId` (string(uuid)): The identity user the invitation is for, and the only one who can redeem it. (nullable)
- `role` ([DeveloperPortalRole](https://devportal.demo.winkpg.io/docs/api/models/DeveloperPortalRole.md)): The portal capability a redemption will grant. (nullable)
  Values:
  - `Admin`: Full portal access: reads everything the read-only role does and additionally manages the merchant's portal configuration.
  - `ReadOnly`: Read-only portal access.
- `expiresAt` (string(date-time)): When the invitation stops being redeemable, in UTC. The contract stays UTC in and UTC out;  display surfaces convert it to the viewer's time zone. (nullable)
- `status` ([DeveloperPortalInvitationStatus](https://devportal.demo.winkpg.io/docs/api/models/DeveloperPortalInvitationStatus.md)): The lifecycle state, already resolved against the clock by the reader. (nullable)
  Values:
  - `Pending`: Issued, not yet redeemed, and not yet past its expiry.
  - `Redeemed`: Redeemed. The developer account it created exists.
  - `Expired`: Past its expiry without having been redeemed.
  - `Revoked`: Withdrawn by an operator before it was redeemed.
- `issuedByUserId` (string(uuid)): The back-office user who issued the invitation. (nullable)
- `redeemedAt` (string(date-time)): When the invitation was redeemed, in UTC, or `null` if it never was. (nullable)
- `revokedAt` (string(date-time)): When the invitation was revoked, in UTC, or `null` if it never was. (nullable)
- `concurrencyStamp` (string): Optimistic-concurrency token. (nullable)
- `user` ([DeveloperPortalUserSummaryDto](https://devportal.demo.winkpg.io/docs/api/models/DeveloperPortalUserSummaryDto.md)): The identity half of the invited party: who they are, and whether they already hold a  back-office role. `null` when the reader did not enrich the row.
  Fields:
  - `id` (string(uuid))
  - `userName` (string): The user's sign-in name. (nullable)
  - `email` (string): The user's email address. (nullable)
  - `hasBackOfficeRole` (boolean): Whether the user already holds a back-office role, i.e. one carrying a `RoleType` and  therefore sitting on the Admin > Reseller > Merchant ladder. The two portal-only roles  deliberately carry no `RoleType`, so a developer who has never been given a gateway  account reads as `false` here. (nullable)
  - `displayName` (string): The label to show for this user: the sign-in name where there is one, the email otherwise,  and the bare id as a last resort so a row never renders blank. (nullable, read only)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
