Skip to content

DoCurious API Reference / types / Gift

Interface: Gift ​

Defined in: types/gift.types.ts:55

A challenge gift sent from one user to another.

Remarks ​

Gifts can be sent to existing users (recipientUserId) or to an email address (recipientEmail) for users not yet on the platform. Gifts are not available to Tier 1 school-only students.

Example ​

ts
const gift: Gift = {
  id: 'gift-001',
  createdAt: '2025-10-01T10:00:00Z',
  updatedAt: '2025-10-01T10:00:00Z',
  senderUserId: 'usr-042',
  recipientUserId: 'usr-099',
  challengeId: 'ch-042',
  status: 'pending',
  personalMessage: 'Thought you would love this!',
  sentAt: '2025-10-01T10:00:00Z',
  expiresAt: '2025-10-15T10:00:00Z',
}

Extends ​

Properties ​

acceptedAt? ​

optional acceptedAt: string

Defined in: types/gift.types.ts:75


challenge? ​

optional challenge: Challenge

Defined in: types/gift.types.ts:81


challengeId ​

challengeId: string

Defined in: types/gift.types.ts:63


communityId? ​

optional communityId: string

Defined in: types/gift.types.ts:66


createdAt ​

createdAt: string

Defined in: types/common.types.ts:154

ISO 8601 datetime when the entity was created

Inherited from ​

BaseEntity.createdAt


declinedAt? ​

optional declinedAt: string

Defined in: types/gift.types.ts:76


expiresAt ​

expiresAt: string

Defined in: types/gift.types.ts:78

ISO datetime after which this gift can no longer be accepted


id ​

id: string

Defined in: types/common.types.ts:167

Inherited from ​

BaseEntity.id


personalMessage? ​

optional personalMessage: string

Defined in: types/gift.types.ts:72

Optional personal message from the sender displayed with the gift


recipient? ​

optional recipient: object

Defined in: types/gift.types.ts:87

avatarUrl? ​

optional avatarUrl: string

displayName ​

displayName: string

id ​

id: string


recipientEmail? ​

optional recipientEmail: string

Defined in: types/gift.types.ts:61

Recipient's email (for gifting to non-registered users)


recipientUserId? ​

optional recipientUserId: string

Defined in: types/gift.types.ts:59

Recipient's user ID (for existing platform members)


sender? ​

optional sender: object

Defined in: types/gift.types.ts:82

avatarUrl? ​

optional avatarUrl: string

displayName ​

displayName: string

id ​

id: string


senderUserId ​

senderUserId: string

Defined in: types/gift.types.ts:56


sentAt ​

sentAt: string

Defined in: types/gift.types.ts:74


status ​

status: GiftStatus

Defined in: types/gift.types.ts:69


updatedAt ​

updatedAt: string

Defined in: types/common.types.ts:156

ISO 8601 datetime when the entity was last modified

Inherited from ​

BaseEntity.updatedAt

DoCurious Platform Documentation