Organizations REST APIs
Authentication
Please head to the how to authenticate page of the documentation to read more about how you can authorize your client to make API requests to Fliplet.
Endpoints
Get the audit logs for an organization
GET or POST v1/organizations/:id/logs
Optional parameters:
type
: String or Array of strings (see list of available types)appId
: Number (ID)fields
: Array of stringsstartDate
: ISODATE StringendDate
: ISODATE Stringsort
: String (column name:id
,createdAt
,type
; defaults tocreatedAt
)order
: String (ASC or DESC; defaults to DESC)limit
: Number (defaults to 50, max 500)offset
: Numberformat
(json
orcsv
; defaults tojson
)
Note: when using GET requests, arrays can be given as a CSV string (e.g. type=foo,bar
)
The following types are filtered out by default since they are primarily used for analytics: app.analytics.pageView
, app.analytics.event
, app.view
, app.update
, studio.analytics.presence
.
Response (Status code: 200 OK):
{
"logs": [
{
"id": 1,
"type": "app.analytics.pageView",
"data": {
"_os": "Win32",
"_pageId": 123456,
"_platform": "web",
"_pageTitle": "Welcome",
"_userEmail": "test@test.com",
"_deviceTrackingId": "8017a7e5-5d3d-4a85-ac80-d70da58b45d7",
"_analyticsSessionId": "6fe0cad0-069c-6b65-83dc-21360d15dcc7"
},
"requestId": "20680bf2-5dc6-49b1-bb3e-602ec22b0a8c",
"createdAt": "2020-12-18T14:27:59.723Z",
"updatedAt": "2020-12-18T14:27:57.584Z",
"sessionId": 123,
"userId": 456,
"appId": 789,
"dataSourceEntryId": null,
"dataSourceId": null,
"organizationId": 1234,
"appNotificationId": null
}
],
"query": {
"where": { "type": "app.analytics.pageView" },
"offset": 0,
"limit": 50,
"order": [["createdAt", "DESC"]]
}
}
Get the aggregated logs for an organization
GET or POST v1/organizations/:id/analytics
Optional parameters:
startDate
: ISODATE StringendDate
: ISODATE String
Response (Status code: 200 OK):
{
"appSessions": [{ "day": "2023-05-18", "count": 1 }],
"studioSessions": [{ "day": "2023-05-18", "count": 0 }],
"stats": {
"uniqueAppUsers": { "count": 0, "previousPeriodCount": 0 },
"totalAppUsers": { "count": 0, "previousPeriodCount": 0 },
"appSessions": { "count": 0, "previousPeriodCount": 0 },
"studioSessions": { "count": 0, "previousPeriodCount": 0 },
"studioUsers": { "count": 0, "previousPeriodCount": 0 },
"newStudioUsers": { "count": 0, "previousPeriodCount": 0 },
"appsCreated": { "count": 0, "previousPeriodCount": 0 },
"appsEdited": { "count": 0, "previousPeriodCount": 0 },
"appsPublished": { "count": 0, "previousPeriodCount": 0 }
},
"apps": [
{
"id": 1,
"name": "Sample App",
"createdAt": "2022-06-08T05:44:53.968Z",
"updatedAt": "2022-08-04T11:11:05.469Z",
"publishedAt": "2022-07-26T11:31:31.984Z",
"publishedAppleAt": "2022-07-26T11:31:31.984Z",
"publishedGoogleAt": "2022-07-26T11:31:31.984Z",
"publishedWebAt": "2022-06-08T05:49:50.076Z",
"stats": {
"users": { "count": 0, "previousPeriodCount": 0 },
"sessions": { "count": 0, "previousPeriodCount": 0 },
"events": { "count": 0, "previousPeriodCount": 0 },
"devices": { "count": 0, "previousPeriodCount": 0 },
"updates": { "count": 0, "previousPeriodCount": 0 },
"publishes": { "count": 0, "previousPeriodCount": 0 }
}
}
],
"users": [
{
"id": 1,
"email": "foo@example.org",
"lastSeenAt": "2023-06-07T10:02:48.203Z",
"createdAt": "2022-05-10T07:17:17.944Z",
"stats": {
"studioSessions": { "count": 0 },
"viewerSessions": { "count": 0 },
"appPublishes": { "count": 0 },
"appsAvailable": { "count": 4 },
"appsCreated": { "count": 0 }
}
}
]
}
Organization Tokens
The following REST APIs enable you to handle organization tokens, facilitating authorized access to organization-specific REST APIs.
Create your organization token
POST v1/organizations/:id/tokens
e.g. v1/organizations/123/tokens
Request body:
{
"name": "My token"
}
Sample cURL request:
curl -X POST -H "Auth-token: eu--abcdef123456" -H "Content-Type: application/json" -d '{"name": "My token"}' "https://api.fliplet.com/v1/organizations/123/tokens"
Response (Status code: 201 Created):
{
"token": "eu--abcdef12345678",
"id": 1,
"name": "My token"
}
Once you have a token, see how to use it when making API requests.
Get your organization tokens
GET v1/organizations/:id/tokens
e.g. v1/organizations/123/tokens
Sample cURL request:
curl -X GET -H "Auth-token: eu--abcdef123456" "https://api.fliplet.com/v1/organizations/123/tokens"
Response (Status code: 200 OK):
{
"organizationTokens": [
{
"fullName": "My token",
"id": 1,
"firstName": "My token",
"lastName": null,
"email": "token@fliplet.com",
"type": "integrationToken",
"organizationUser": {
"createdAt": "2023-08-01T13:07:20.008Z",
"updatedAt": "2023-08-01T13:07:20.008Z",
"userId": 1,
"organizationId": 123,
"organizationRoleId": 3
}
}
]
}
Delete your organization token
DELETE v1/organizations/:orgId/tokens/:tokenId
e.g. v1/organizations/123/tokens/1
Sample cURL request:
curl -X DELETE -H "Auth-token: eu--abcdef123456" "https://api.fliplet.com/v1/organizations/123/tokens/1"
Response status code: 200 (no body)