SkyWin® One API

Use API calls to integrate with SkyWin® One. Intended for developers building integrations.

API conventions

The API follows standard REST conventions with a few exceptions described in the API resources section below.

Authorization Basic Auth — user and password from SkyWin® One
Content-Type application/json
Accept application/json
Permissions API user must have role API. Add role FINANCE for monetary transaction endpoints.
Pagination Use offset and max on list endpoints — e.g. /api/v1/members?offset=70&max=10

API resources

Endpoints that deviate from standard REST conventions or have notable special behaviours.

/api/v1/status live example →

Returns SkyWin One settings including validatedDbVersion and validatedLicenseNumber — both should be true.

Use HEAD on this endpoint (no auth required) to check if the service is up.

/api/v1/members live example →

Optional query parameter selectionNo filters by Member selection: /api/v1/members?selectionNo=11

/api/v1/members/<id> looks up by InternalNo, falling back to Member No or External member No.

/api/v1/checkin Response same as /members

Simplifies registration of new jumpers and renewal of existing ones. Accepts POST for new members and PUT for existing members.

Covers: members, memberlicenses, memberinstructs, membercertificates, memberphones, trans.

When updating, firstName, lastName and nickName are ignored. All POST/PUT requests set verifiedLicense to false.

Extra attributes: phoneNo, amount (+ optional paymentType), year, club, licenseType, instructorText (space-separated), certificateText (space-separated).

POST — new member

{
    "year": 2022,
    "club": "ONE",
    "licenseType": "D",
    "instructorText": "T WARP",
    "certificateText": "TRCK",
    "video": true,
    "postTown": "asas",
    "postCode": "12345",
    "countryCode": "US",
    "firstName": "Jesper",
    "externalMemberNo": "USA-123",
    "nationalityCode": "US",
    "lastName": "Examples",
    "weight": 80,
    "phoneNo": "+001 77 123456789",
    "contactName": "My Mom",
    "contactPhone": "Phone home"
}

PUT — update existing

{
    "amount": 1200,
    "paymentType": "Credit card",
    "year": 2022,
    "club": "ONE",
    "licenseType": "C",
    "instructorText": "T WARP",
    "certificateText": "TD TRCK",
    "verifiedLicense": true
}
/api/v1/passengers live example →

Filter by date range: /api/v1/passengers?fromDate=2021-03-01&toDate=2021-07-01

Sub-resource payment responds to GET and POST for passenger payments: /api/v1/passengers/4711/payment

/api/v1/trans live example →

Optional lastUpdated (format yyyy-MM-dd hh:mm:ss.SSS) returns only transactions after the given timestamp:
/api/v1/trans/10504711?lastUpdated=2021-02-06 14:36:14.740

/api/v1/reports live example →

jump-league — optional jumpYear: /api/v1/reports/jump-league?jumpYear=2021

pax-report — optional memberNo path + fromDate/toDate: /api/v1/reports/pax-report/770?fromDate=2022-01-01&toDate=2022-12-31

member-email-addresses — required infoViaEmail (true/false): /api/v1/reports/member-email-addresses?infoViaEmail=true

/api/v1/skyview live example →

Returns loads and jumpers for today with status PLANNED or BOOKED.

jumpDate — override the date: /api/v1/skyview?jumpDate=2021-03-01

tandem (true/false) — filter to tandem jumps only.

includeAllStatuses (true/false) — return all loads regardless of status.

/api/v1/jump-queue live example →

Returns all groups and jumpers currently waiting in the jump queue (formerly SkyWish).