NAV Navbar

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.

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.

Elasticsearch

The Heart of the Elastic Stack. Elasticsearch is a distributed, RESTful search and analytics engine. The Elastic API is using basic auth.

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
email 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
email 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
email 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