Introduction
Welcome to the Big Dash developers documentation.
Elastic Stack
We have powered your community with the Elastic Stack for retrieving, searching and visualizing your data. We have chosen the Elastic Stack for its speed, security, documentation, and possibilities.
Authentication
Basic Auth method
curl "https://elastic.bigdash.community/_search"
-H "Authorization: Basic <username>:<password>"
-H "instanceId: <instanceId>
CORS method
curl "https://elastic.bigdash.community/_search"
-H "Origin: https://your.whitelisted.domain"
# Origin header is automatically set by browser
Authentication to the Elastic Stack is currently separated from the admin dashboard authentication. Contact us to request login credentials for the Elastic Stack.
We currently have two ways for accessing the Elastic Stack.
Basic Auth: When you're using login credentials you have full access to all data in the Elastic Stack. This includes data that's not publicly visible in your community, like unpublished documents, events, organization profiles, and user profiles. You can use the credentials to login in Kibana and view and visualize all your data or access the data with the Elastic API. If you need more fine controlled access, with the Enterpise plan we can create custom roles and accounts with limited access. You should not use the Elastic API directly on your website with the Basic Auth method. When using Basic Auth you need to include the Authorization header and the instanceId of your community in every requests.
CORS allowed domains: Access to all publicly available data. Like events published by an admin or an organization profile published by an end-user. We can add your domain to the whitelist so you can use the Elastic API on your website.
Kibana
Your Window into the Elastic Stack. Kibana gives you the freedom to select the way you give shape to your data. And you don’t always have to know what you're looking for. With its interactive visualizations, start with one question and see where it leads you.
- Kibana: https://kibana.bigdash.co
- Documentation
Elasticsearch
The Heart of the Elastic Stack. Elasticsearch is a distributed, RESTful search and analytics engine. The Elastic API is using basic auth.
- Elastic API: https://elastic.bigdash.community
- Documentation
Search API
Elasticsearch provides a full Query DSL (Domain Specific Language) based on JSON to define queries. Query DSL documentation is available on elastic.co.
You can use the Search API for full-text search across all objects and fields or specify which fields and objects to include. You can boost individual field ranking or filter on specific fields, like object, subject, industry and many more.
Simple Query String Query
Example Request
curl -X POST \
https://elastic.bigdash.community/_search \
-H 'Content-Type: application/json' \
-H 'Origin: https://searchkit.bigdash.co' \
-d '{
"query": {
"simple_query_string": {
"query": "\"Hands-on tips\" -test",
"fields": [
"title^5",
"body"
],
"default_operator": "and"
}
}
}'
A query that uses the SimpleQueryParser to parse its context. Unlike the regular query_string query, the simple_query_string query will never throw an exception, and discards invalid parts of the query. An example is shown on the right. Documentation on elastic.co
In this example we search for the exact words "networking tips", ignore results with the word "test", specific in the fields title and body and boost the title field importance by 5.
Aggregations
Example Request
curl -X POST \
https://elastic.bigdash.community/_search \
-H 'Content-Type: application/json' \
-H 'Origin: https://searchkit.bigdash.co' \
-d '{
"size": 0,
"aggs": {
"Object Type": {
"filter": {
"match_all": {}
},
"aggs": {
"object.keyword": {
"filter": {
"match_all": {}
},
"aggs": {
"object.keyword": {
"terms": {
"field": "object.keyword",
"size": 20
}
}
}
}
}
},
"Subjects": {
"nested": {
"path": "subjects"
},
"aggs": {
"inner": {
"filter": {
"terms": {
"subjects.type.keyword": [
"Country"
]
}
},
"aggs": {
"subjects.name": {
"terms": {
"field": "subjects.name.keyword"
}
}
}
}
}
}
}
}'
The aggregations framework helps provide aggregated data based on a search query. It is based on simple building blocks called aggregations, that can be composed in order to build complex summaries of the data. Aggregations documentation on elastic.co
In this example, we show the query to retrieve the count of each unique occurrence of the field "object" and each subject with as type the admin created subject type "Country".
You can use the returned values to show the number of documents with a specific subject type or use the values as filters to filter on a specific subject. Instead of subjects, you could also use other fields. When using aggregrations on text fields always append the field name with ".keyword".
If you want more information about aggregations check out this video.
Documents
Document GET
Request using the Elastic GET API retrieving a single document.
GET https://elastic.bigdash.community/_doc/<id>
Example Request
curl -X GET \
https://elastic.bigdash.community/_doc/document:-L62wq1ZS5lDNhofYmPl \
-H 'Origin: https://searchkit.bigdash.co'
Example Response
{
"_index": "bigdash-5n5pwt2q8h64envp71cprv3f6t26akbf",
"_type": "_doc",
"_id": "document:-L62wq1ZS5lDNhofYmPl",
"_version": 1,
"_seq_no": 0,
"_primary_term": 1,
"found": true,
"_source": {
"object": "document",
"createdAt": "2018-02-23T18:36:02.596Z",
"exclusive" : true,
"groups" : [
"-LMgygrEqTbVXiTTQQiR"
],
"image" : "https://ucarecdn.com/9f9f80ad-b539-4163-9675-9af9260b97fa/",
"linkname": "amazing-bugs-you-probably-didnt-know-exist",
"name": "Amazing Bugs You Probably Didn't Know Exist!",
"published" : true,
"type" : "download"
}
}
Document Fields
object:document
Name | Type | Description |
---|---|---|
agreementText | string | Text user needs to agree to before downloading |
canonicalUrl | string | Canonical URL of event |
createdAt | date | Date document is created in system |
description | string | Description about the document |
exclusive | boolean | When exclusive, end-user can only access attached url,link,video if in one of the specified groups |
groups | object[] | Object contains group 'id' and 'name' |
image | string | URL to image |
internalType | string | Internal type. Either download, externalLink or video |
language | string | Document language |
linkname | string | Search engine friendly URL parameter string of document |
name | string | Name of document |
path | string | URL path of document in community |
publicationDate | date | Date document is first published |
published | boolean | Show document in community when enabled |
publishFrom | date | Only show in community if after this date |
publishTill | date | Only show in community if before this date |
subjects | object[] | Object contains subject 'id', 'name' and 'type' |
type | string | Document type. Defined by user. |
updatedAt | date | Date the document is last updated in Big Dash |
sources | object[] | Object contains organization 'id' and 'name' |
Events
Event GET
Request using the Elastic GET API retrieving a single document.
GET https://elastic.bigdash.community/_doc/<id>
Example Request
curl -X GET \
https://elastic.bigdash.community/_doc/event:-LX4J5z-El1m9Pe2BFvt \
-H 'Origin: https://searchkit.bigdash.co'
Example Response
{
"_index": "bigdash-5n5pwt2q8h64envp71cprv3f6t26akbf",
"_type": "_doc",
"_id": "event:-LX4J5z-El1m9Pe2BFvt",
"_version": 1,
"_seq_no": 7,
"_primary_term": 1,
"found": true,
"_source": {
"object": "event",
"createdAt": "2019-01-25T14:01:07.776Z",
"description": "<p>Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.</p>",
"image": "https://ucarecdn.com/18bac8fc-95af-4421-b05b-8a086ac35b69/-/crop/1100x470/0,197/-/resize/960x411/",
"linkname": "workshop",
"location": {
"name": "Silverpoint",
"address": {
"addressLine1": "Reactorweg 9A",
"postalCode": "3542 AD",
"city": "Utrecht",
"geoPoint": "52.3679843,4.903561399999944"
}
},
"name": "Workshop",
"published": true,
"registerDeadline": "2019-02-01T16:00:00.000Z",
"startDate": "2019-02-14T10:00:00.000Z"
}
}
Event Fields
object:event
Name | Type | Description |
---|---|---|
agreementText | string | Text user needs to agree to before attending |
attendeeLimit | number | Max. attendees for event. End-user can't register if limit reached. |
canonicalUrl | string | Canonical URL of event |
createdAt | date | Date document is created in system |
description | string | Description about the event |
endDate | date | End date and time for this event |
exclusive | boolean | When exclusisive, end-user can only attend if in one of the specified groups |
externalRegistration | string | URL to external page where end-user should register for event |
groups | object[] | Object contains group 'id' and 'name' |
image | string | URL to image |
language | string | Event language |
linkname | string | Search engine friendly URL parameter string of document |
location.name | string | Name of the event location |
location.placeId | string | Google Place ID |
location.address | Address | Address of the event |
moreInfo | string | URL to external page with more info about event |
name | string | Name of the event |
organizers | object[] | Object contains organization 'id' and 'name' |
path | string | URL path of event in community |
price | number | Price of this event |
priceType | string | Price type of this event. |
published | boolean | Show event in community when enabled |
registerDeadline | date | Registering for event should be before this date. |
startDate | date | Start date and time for this event |
subjects | object[] | Object contains subject 'id', 'name' and 'type' |
type | string | Event type. Defined by user. |
updatedAt | date | Date the event is last updated in Big Dash |
Organizations
Organization GET
Request using the Elastic GET API retrieving a single document.
GET https://elastic.bigdash.community/_doc/<id>
Example Request
curl -X GET \
https://elastic.bigdash.community/_doc/organization:-Knhcl__jAK0gtvLBx4U \
-H 'Origin: https://searchkit.bigdash.co'
Example Response
{
"_index": "bigdash-5n5pwt2q8h64envp71cprv3f6t26akbf",
"_type": "_doc",
"_id": "organization:-Knhcl__jAK0gtvLBx4U",
"_version": 2,
"_seq_no": 32,
"_primary_term": 1,
"found": true,
"_source": {
"object": "organization",
"createdAt": "2017-06-28T07:38:28.301Z",
"businessRegistrationNumber": "12345675",
"employees": "5 - 9",
"sicIndustry": "J",
"updatedAt": "2018-05-31T09:21:21.949Z",
"image": "https://ucarecdn.com/8a0bf8f0-42f3-47f1-9475-f64a6a65ac60/",
"website": "http://bigdash.co",
"postalAddress": {
"addressLine1": "Reactorweg 9A",
"city": "Utrecht",
"countryIsoCode": "NL",
"postalCode": "3542AD",
},
"phone": "+31600000000",
"social": {
"linkedin": "https://linkedin.com/organization/big-dash"
},
"name": "Big Dash",
"description": "Day-by-day we interact with thousands of entrepreneurs and we learn constantly what they need and makes them successful and happy. It helps us in offering perfect services and we translate it to information for our business partners: government agencies who promote and support entrepreneurship as well suppliers to SME’s of goods and services. With our Big Dash community support platform, we empower this unique infrastructure and build a powerful community that brings entrepreneurship in any region or country to a significantly higher level.",
"visitingAddress": {
"addressLine1": "Reactorweg 9A",
"postalCode": "3542AD",
"city": "Utrecht",
"countryIsoCode": "NL",
"geoPoint": "52.1013589,5.067418099999999"
},
"published": true,
"linkname": "big-dash",
"email": "support@bigdash.co"
}
}
Organization Fields
object:organization
Name | Type | Description |
---|---|---|
createdAt | date | Date organization is created in Big Dash |
businessRegistrationNumber | string | Business registration number |
description | string | Description about organization |
string | Public email address of organization | |
employees | string | Employee count |
founded | date | Date organization is founded |
image | string | URL to organization logo |
isic.section.code | string | Industry ISIC section code |
isic.section.name | string | Industry ISIC section name in English |
isic.section.nameNl | string | Industry ISIC section name in Dutch |
linkname | string | Search engine friendly URL parameter string of document |
name | string | Name of organization |
path | string | URL path of organization in community |
phone | string | Phone number of organization |
postalAddress | Address | Postal address of organization |
published | boolean | Show organization in community when enabled (see: organizationProfile) |
social.facebook | string | URL to Facebook profile |
social.instagram | string | URL to Instagram profile |
social.linkedin | string | URL to LinkedIn profile |
social.twitter | string | URL to Twitter profile |
updatedAt | date | Date the organization is last updated in Big Dash |
visitngAddress | Address | Visiting address of organization |
website | string | URL to website of organization |
OrganizationProfile Fields
object:organizationProfile
Name | Type | Description |
---|---|---|
createdAt | date | Date organization is created in Big Dash |
description | string | Description about organization |
string | Public email address of organization | |
image | string | URL to organization logo |
linkname | string | Search engine friendly URL parameter string of document |
name | string | Name of organization |
path | string | URL path of organization in community |
phone | string | Phone number of organization |
postalAddress | Address | Postal address of organization |
published | boolean | Show organization in community when enabled |
social.facebook | string | URL to Facebook profile |
social.instagram | string | URL to Instagram profile |
social.linkedin | string | URL to LinkedIn profile |
social.twitter | string | URL to Twitter profile |
updatedAt | date | Date the organization is last updated in Big Dash |
visitngAddress | Address | Visiting address of organization |
website | string | URL to website of organization |
Subjects
Retrieving all subjects
Request using the Elastic search API retrieving a list of all subjects of a specific subject type
POST https://elastic.bigdash.community/_search
In this example we use the typeId, but you could also use type name.
Example Request
curl -X POST \
https://elastic.bigdash.community/_search \
-H 'Content-Type: application/json' \
-H 'Origin: https://searchkit.bigdash.co'
-d '{
"size": 1000,
"query": {
"bool": {
"must": [
{
"term": {
"object.keyword": "subject"
}
},
{
"term": {
"typeId.keyword": "subjectType:gWt30demGZVqk8iLh7Vq"
}
}
]
}
}
}'
Example Response
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 224,
"max_score": 1.8513641,
"hits": [
{
"_index": "bigdash-5n5qcdu1d4rq2h34enppphkg9n37jk2n",
"_type": "_doc",
"_id": "subject:0H68jrr7ySPSDbBtR3SI",
"_score": 1.8513641,
"_source": {
"object": "subject",
"createdAt": "2019-02-14T16:07:25.487Z",
"name": "Panama",
"type": "Country",
"typeId": "subjectType:gWt30demGZVqk8iLh7Vq"
}
},
{
"_index": "bigdash-5n5qcdu1d4rq2h34enppphkg9n37jk2n",
"_type": "_doc",
"_id": "subject:0dRhaPviUWiD4WhMWiAa",
"_score": 1.8513641,
"_source": {
"object": "subject",
"createdAt": "2019-02-14T16:07:25.233Z",
"name": "Equatoriaal-Guinea",
"type": "Country",
"typeId": "subjectType:gWt30demGZVqk8iLh7Vq"
}
},
{
"_index": "bigdash-5n5qcdu1d4rq2h34enppphkg9n37jk2n",
"_type": "_doc",
"_id": "subject:0yA3StdT2MFZptqay47s",
"_score": 1.8513641,
"_source": {
"object": "subject",
"createdAt": "2019-02-14T16:07:25.485Z",
"name": "Peru",
"type": "Country",
"typeId": "subjectType:gWt30demGZVqk8iLh7Vq"
}
},
{
"_index": "bigdash-5n5qcdu1d4rq2h34enppphkg9n37jk2n",
"_type": "_doc",
"_id": "subject:1IXA88y8ePebfHNbJ6Lk",
"_score": 1.8513641,
"_source": {
"object": "subject",
"createdAt": "2019-02-14T16:07:25.290Z",
"name": "Afghanistan",
"type": "Country",
"typeId": "subjectType:gWt30demGZVqk8iLh7Vq"
}
},
...
]
}
}
Subject Fields
object:subject
Name | Type | Description |
---|---|---|
createdAt | date | Date document is created in system |
name | string | Subject name |
type | string | Name of subject type |
typeId | string | Id of subject type |
Posts
Post GET
Request using the Elastic GET API retrieving a single document.
GET https://elastic.bigdash.community/_doc/<id>
Example Request
curl -X GET \
https://elastic.bigdash.community/_doc/post:mQvtydw4liDWax2etskj \
-H 'Origin: https://searchkit.bigdash.co'
Example Response
{
"_index": "bigdash-5n5pwt2q8h64envp71cprv3f6t26akbf",
"_type": "_doc",
"_id": "post:mQvtydw4liDWax2etskj",
"_version": 1,
"_seq_no": 17,
"_primary_term": 1,
"found": true,
"_source": {
"object": "post",
"body": "<p>Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.</p>\n<p>Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day, going forward, a new normal that has evolved from generation X is on the runway heading towards a streamlined cloud solution. User generated content in real-time will have multiple touchpoints for offshoring.</p>\n<p>Capitalize on low hanging fruit to identify a ballpark value added activity to beta test. Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.</p>",
"createdAt": "2018-06-21T18:52:13.292Z",
"image": "https://ucarecdn.com/350193c6-c36b-4bf2-8128-9dd36c539127/-/crop/1920x959/0,68/-/resize/800x400/",
"linkname": "bring-to-the-table-win-win-survival-strategies-to-ensure-proactive-domination",
"title": "Bring to the table win-win survival strategies to ensure proactive domination",
"userId": "-KnhcSlfuKCO_ZnVtydK",
"tags" : [
"frameworks",
"strategies",
"capitalize",
"tech"
]
}
}
Post Fields
object:post
Name | Type | Description |
---|---|---|
body | string | Body of post |
createdAt | date | Date document is created in system |
groups | object[] | Object contains group 'id' and 'name' |
image | string | URL to image |
likeCount | integer | Total likes |
linkname | string | Search engine friendly URL parameter string of document |
tags | Tag[] | User generated tags about this post |
title | string | Title of post |
path | string | URL path of post in community |
updatedAt | date | Date the post is last updated in Big Dash |
userId | string | Big Dash User ID of the user who created this post |
video.id | string | Video ID of the YouTube of Vimeo video attached to this post |
video.source | date | Video Source. Either YouTube or Vimeo. |
Users
User GET
Request using the Elastic GET API retrieving a single document.
GET https://elastic.bigdash.community/_doc/<id>
Example Request
curl -X GET \
https://elastic.bigdash.community/_doc/userProfile:-KnhcSlfuKCO_ZnVtydK \
-H 'Origin: https://searchkit.bigdash.co'
Example Response
{
"_index": "bigdash-5n5pwt2q8h64envp71cprv3f6t26akbf",
"_type": "_doc",
"_id": "user:-KnhcSlfuKCO_ZnVtydK",
"_version": 2,
"_seq_no": 89,
"_primary_term": 1,
"found": true,
"_source": {
"object": "user",
"createdAt": "2017-06-28T07:37:06.935Z",
"updatedAt": "2018-03-28T14:05:07.920Z",
"skills": {
"name": [
"Node.js",
"Google Cloud Platform",
"ElasticSearch",
"Google App Engine",
"Angular",
"Google Firebase"
],
"id": [
"nodejs",
"googlecloudplatform",
"elasticsearch",
"googleappengine",
"angular",
"googlefirebase"
]
},
"image": "https://ucarecdn.com/e276ae20-5cd4-44f4-85d0-6f62d312cbd1/-/resize/400x400/",
"firstname": "Richard",
"headerImage": "https://ucarecdn.com/5f88ced7-8897-469f-a181-30f45a7570f9/-/crop/1382x350/7,0/-/resize/990x250/",
"social": {},
"description": "...",
"tagline": "Passionate about technology!",
"published": true,
"linkname": "richard-van-t-hoenderdaal",
"lastname": "van 't Hoenderdaal"
}
}
User Fields
object:user
Name | Type | Description |
---|---|---|
createdAt | date | Date user is created in Big Dash |
description | string | Description about user |
string | Private email address of user | |
firstname | string | First name of user |
headerImage | string | URL to header background image of user profile |
image | string | URL to user profile image |
lastname | string | Last name of user |
linkname | string | Search engine friendly URL parameter string of document |
path | string | URL path of user in community |
phone | string | Private phone number of user |
published | boolean | Show user in community when enabled (see: userProfile) |
social.facebook | string | URL to Facebook profile |
social.instagram | string | URL to Instagram profile |
social.linkedin | string | URL to LinkedIn profile |
social.twitter | string | URL to Twitter profile |
skills.id | string[] | Array of user skills by id |
skills.name | string[] | Array of user skills by name |
updatedAt | date | Date the user is last updated in Big Dash |
tagline | string | Tagline of user |
UserProfile Fields
object:userProfile
Name | Type | Description |
---|---|---|
createdAt | date | Date user is created in Big Dash |
description | string | Description about user |
firstname | string | First name of user |
headerImage | string | URL to header background image of user profile |
image | string | URL to user profile image |
lastname | string | Last name of user |
linkname | string | Search engine friendly URL parameter string of document |
path | string | URL path of user in community |
published | boolean | Show user in community when enabled (see: userProfile) |
social.facebook | string | URL to Facebook profile |
social.instagram | string | URL to Instagram profile |
social.linkedin | string | URL to LinkedIn profile |
social.twitter | string | URL to Twitter profile |
skills.id | string[] | Array of user skills by id |
skills.name | string[] | Array of user skills by name |
updatedAt | date | Date the user is last updated in Big Dash |
tagline | string | Tagline of user |