Tech@NYU API Documentation

This API lets clients query much of tech@nyu’s organizational data. Here are some things you could build with it:

Usage Overview

This API is compliant with the JSON API specification, which defines conventions for listing, reading, creating, updating, and deleting resources. When fetching a resource or resources, the spec also offers conventions for: sorting the returned resources, limiting the fields returned in each resource, including related resources to form compound documents, etc. Accordingly, these features of the Tech@NYU API aren’t redocumented here; simply see the JSON API spec to learn how to use them.

Examples & Troubleshooting

We've written some basic examples for getting started with the API in node and python.

If you're getting 404 errors, make sure you've set the Accept header correctly, as in this example.

And, if you run into any other problems, email server@techatnyu.org.

Unsupported JSON API features

This implementation of JSON API does not allow clients to set a resource’s id; any attempt to do so will be silently ignored, with the server-generated id being used instead.

Authorization

All of the methods documented below don't require any authorization to use.

Want Write Access?

Just email us at server@techatnyu.org, describe your project, and we'll try to hook you up.

Resource Types

Event

Public Endpoints

Description Request
List all events GET /v3/events
Lookup an event by id GET /v3/events/{eventId}

Public Fields

Field Name Type Description
id Id
title String Used for meetup, facebook, etc.
shortTitle String For the tech@nyu homepage, where the title is character constrained.
description String One or two sentences on the event's purpose.
details String Information like: exactly what attendees will make, what they should install in advance, how to get into the building, etc. (Does not include the speakers' bios, if any.)
venue VenueId
startDateTime Date
endDateTime Date
teams Array[TeamId]
coorganizers Array[OrganizationId]
presenters Array[PresenterId]
attendees Array[PersonId]
rsvpUrl String
status EventStatusId
isInternal Boolean
addedBy PersonId
created Date
Default Value
(auto generated)
modified Date
Default Value
(auto generated)

Person

People objects represent anyone who comes into contact with tech@nyu—attendees, board members, speakers, etc.

Public Endpoints

Except for presenters (see below), people are not directly accessible. But, you can fetch the people linked to from another resource using the include parameter. For example, GET /v3/events?include=attendees will return all the attendees for each event, where each attendee is a Person.

Fields

Field Name Type Description
id Id
name String
currentEmployer OrganizationId
gender String
contact.twitter String The person’s twitter username.
skills Array[SkillId]
wantsToLearn Array[SkillId]
wantsToHire Array[SkillId]
imgUrl String URL of the person’s headshot. This headshot should usually be accessible at http://api.tnyu.org/img/people/{name}.(png|jpg), but clients cannot assume this (hence the field). The headshot should be square, and at least 300x300 pixels. PNG or JPG is expected.
schools Array[SchoolAttendanceId]
created Date
Default Value
(auto generated)
modified Date
Default Value
(auto generated)

Presenter

Presenter resources extend Person resources, meaning they have all the same fields and requirements. The fields shown below are only the additional fields that Presenter resources have but Person resources don’t.

Public Endpoints

Description Request
Lookup a presenter by id GET /v3/presenters/{presenterId}

Public Fields

Field NameTypeDescription
titleString
urlString
shortBioString

Venue

Public Endpoints

Description Request
Lookup a venue by id GET /v3/venues/{venueId}

Public Fields

Field Name Type Description
id Id
name String
address String
seats Number
kind String
Allowed Values
bar, classroom, company_office, school_auditorium, incubator_accelerator, other
organization OrganizationId
created Date
Default Value
(auto generated)
modified Date
Default Value
(auto generated)

Job

Public Endpoints

Description Request
List all jobs GET /v3/jobs
Lookup a job by id GET /v3/jobs/{jobId}

Public Fields

Field Name Type Description
id Id
positionTitle String
description String
category String
Allowed Values
Design, Engineering, Business Development
positionLevel String
Allowed Values
Full-Time, Part-Time, Contract, Paid Internship
applicationUrl String
applicationEmail String
employer OrganizationId
exiresAt Date
created Date
Default Value
(auto generated)
modified Date
Default Value
(auto generated)

Team

Public Endpoints

Description Request
List all teams GET /v3/teams
Lookup a team by id GET /v3/teams/{teamId}

Public Fields

Field Name Type Description
id Id
name String
isMeta Boolean Some teams put on events (e.g. the Demo Days team). Meta teams are those teams that support the event teams (e.g. Marketing, Infrastructure, etc).
email String
photos Array[String]
memberships Array[TeamMembershipId]
roleName String
created Date
Default Value
(auto generated)
modified Date
Default Value
(auto generated)

Organization

Public Endpoints

Description Request
Lookup an organization by id GET /v3/organizations/{organizationId}

Fields

Field Name Type Description
id Id
name String
url String
description String
created Date
Default Value
(auto generated)
modified Date
Default Value
(auto generated)

Project

Public Endpoints

Description Request
List all projects GET /v3/projects
Lookup a project by id GET /v3/projects/{projectId}

Public Fields

Field Name Type Description
id Id
title String
description String
imgUrl String
url String
category String
featured Boolean
creators Array[PersonId]
shownAt Array[EventId]
created Date
Default Value
(auto generated)
modified Date
Default Value
(auto generated)

TeamMembership

Public Endpoints

Description Request
List all team memberships GET /v3/team-memberships
Lookup a team membership by id GET /v3/team-memberships/{teamMembershipId}

Public Fields

Field Name Type Description
id Id
member PersonId
isLead Boolean
startDate Date
endDate Date

EventStatus

Public Endpoints

Description Request
List all event statuses GET /v3/event-statuses
Lookup an event status by id GET /v3/event-statuses/{eventStatusId}

Public Fields

Field Name Type Description
id Id
name String
canTransitionTo Array[EventStatusId]

Skill

Public Endpoints

Description Request
List all skills GET /v3/skills
Lookup a skill by id GET /v3/skills/{skillId}

Public Fields

Field Name Type Description
id Id
name String
category String
Allowed Values
design, art, programming, cs, data, business/legal