User

Users are accessed via /api/user.

Properties

See "Object Properties" in Introduction for basic shared properties.

Complete details in UserProperties. Here are some of the more commonly used properties:

username

Another unique way of identifying a user. However, this can be changed by an admin or the user himself.

real_name

The name that this user goes by in the real world. Example: Andy Dufresne

email

An email address associated with this user.

Relationships

See "Relationships" in Introduction for how to use them.

apikeys

APIKeys the user has generated.

badges

Badges the user controls.

Queryable
name
badge_number
Qualifiers
convention_id
verified

cashdrawers

CashDrawers the user controls.

conventioncarts

ConventionCarts the user controls.

conventionreceipts

ConventionReceipts the user controls.

Queryable
order_number

event_reservations

EventReservationss for this user.

groups

A list of Groups this user controls.

libraries

Game Librarys this user controls.

Queryable
name
event_number
Qualifiers
convention_id
is_scheduled

eventsubmissions

EventSubmissions the user has submitted.

Queryable
name
Qualifiers
convention_id

eventwaits

EventWaits the user has requested.

exhibitors

Exhibitor applications this user has submitted.

interestedprototypes

Prototypes the user has expressed interest in.

Queryable
prototype.name
prototype.synopsis
prototype.description
Qualifiers
prototype.convention_id

libraries

Librarys that this user controls.

librarygamecheckouts

LibraryGameCheckouts that this user has made.

playtowins

The PlayToWins associated with this user, if any.

prototypeinterests

The list of PrototypeInterest relationship managers.

prototypes

The list of Prototypes the user has submitted.

submission_reservations

EventSubmissionReservations for this user.

supplyorders

The SupplyOrders made by this user.

Queryable
supplyorder_number
ship_to_name
ship_to_companyname
ship_to_street1
ship_to_street2
ship_to_city
ship_to_state
ship_to_zipcode
contact_email
contact_phone

volunteers

The Volunteer applications made by this user. Note that this is across conventions. A user can have only one volunteer application per convention.

Services

The services used to fetch and manipulate users.

Update User

 PUT /api/user/xxx

Can only be done by an admin or the user itself.

Returns:

 {
   "id" : "xxx",
   "username" : "andy",
   ...
 }

Delete User

 DELETE /api/user/xxx

Can only be done by an admin or the user itself.

Returns:

 {
   "success" : 1
 }

Read User

 GET /api/user/xxx

Can only be done by an admin or the user itself.

Returns:

 {
   "id" : "xxx",
   "username" : "andy",
   ...
 }

Search Users

Searching across all users is no longer supported.

Get Conventions User Is Running

 GET /api/user/xxx/conventions-running

A list of Conventions that this user is running. Running is defined as having some level of privilege over either through the ConventionPrivileges system or by the Group that is in charge of the convention.

Can only be done by an admin or the user itself.

Returns:

 {
    "items" : [
        {
            "id" : "xxx",
            "name" : "Supa-Con Extra Wow",
            ...
        },
        ...
    ],
    "paging" : {...}
 }

Get Conventions User Is Helping

 GET /api/user/xxx/conventions-helping

A list of Conventions that this user is helping. Helping is defined as being an EventHost or convention Volunteer.

Can only be done by an admin or the user itself.

Returns:

 {
    "items" : [
        {
            "id" : "xxx",
            "name" : "Supa-Con Extra Wow",
            ...
        },
        ...
    ],
    "paging" : {...}
 }

Events User Is Hosting

 GET /api/user/xxx/events-hosted

The list of Events this user is listed as a host of. Hosted events can be seen by the user in question, a TTE friend of the user, or a convention organizer if a convention_id is passed.

Optional Params
convention_id

Pass a convention_id to see a user's hosted events for a specific convention. The session user must have the scheduling privilege to see them.

is_scheduled

Can be 1 (scheduled) or 0 (not scheduled).

Returns:

 {
    "items" : [
        {
            "id" : "xxx",
            "event_number" : "xxx",
            "name" : "Nice Event",
            ...
        },
        ...
    ],
    "paging" : {...}
 }

Events User Has Reservations For

 GET /api/user/xxx/events-reserved

The list of Events this user has a reservation for. Event reservations can be seen by the user in question, or a convention organizer if a convention_id is passed.

Optional Params
convention_id

Pass a convention_id to see a user's event reservations for a specific convention. The session user must have the scheduling privilege to see them.

Returns:

 {
    "items" : [
        {
            "id" : "xxx",
            "event_number" : "xxx",
            "name" : "Nice Event",
            ...
        },
        ...
    ],
    "paging" : {...}
 }