Speckle v1.0.0-beta
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Speckle is an open source design/AEC data communication protocol and platform.
Base URLs:
Email: SpeckleWorks Web: SpeckleWorks License: MIT
Authentication
- API Key (JWT)
- Parameter Name: Authorization, in: header. A JWT token acquired from the /accounts/login endpoint.
Accounts
Register, Login and more.
UserRegister
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/accounts/register \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/accounts/register HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/accounts/register',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/accounts/register',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/accounts/register',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/accounts/register', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/accounts/register");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/accounts/register", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /accounts/register
Registers a new user.
Body parameter
{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | User | true | The user object to register. |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | New user successfully registered. | ResponseUser |
400 | Bad Request | Failed to register a new user. | ResponseBase |
UserLogin
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/accounts/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/accounts/login HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/accounts/login',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/accounts/login',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/accounts/login',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/accounts/login', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/accounts/login");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/accounts/login", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /accounts/login
Login and get jwt token.
Body parameter
{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | User | true | The only required elements are email and password. |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | You've logged in. | ResponseUser |
400 | Bad Request | Fail whale. | ResponseBase |
UserSearch
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/accounts/search \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/accounts/search HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/accounts/search',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/accounts/search',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/accounts/search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/accounts/search', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/accounts/search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/accounts/search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /accounts/search
Search for a user by substrings of name, surname, and company.
Body parameter
{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | User | true | No elements are required. The name, surname, and company are used to constrain the search. |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | New user successfully registered. | ResponseUser |
400 | Bad Request | Fail whale. | ResponseBase |
UserGet
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/accounts \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/accounts HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/accounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/accounts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /accounts
Gets your profile.
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | New user successfully registered. | ResponseUser |
400 | Bad Request | Fail. | ResponseBase |
UserUpdateProfile
Code samples
# You can also use wget
curl -X PUT https://hestia.speckle.works/api/accounts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://hestia.speckle.works/api/accounts HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/accounts',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/accounts',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.put 'https://hestia.speckle.works/api/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://hestia.speckle.works/api/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://hestia.speckle.works/api/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /accounts
Updates your profile.
Body parameter
{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | User | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Things are looking good yo. | ResponseBase |
400 | Bad Request | Fail. | ResponseBase |
UserGetProfileById
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/accounts/{userId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/accounts/{userId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/accounts/{userId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/accounts/{userId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/accounts/{userId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/accounts/{userId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/accounts/{userId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/accounts/{userId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /accounts/{userId}
Gets a user's profile.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
userId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | New user successfully registered. | ResponseUser |
400 | Bad Request | Fail whale. | ResponseBase |
Clients
Create, get and update application clients.
ClientGetAll
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/clients \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/clients HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/clients',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/clients',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/clients',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/clients', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/clients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/clients", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients
Gets a user's profile.
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's clients. | ResponseClient |
400 | Bad Request | Fail whale. | ResponseBase |
ClientCreate
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/clients \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/clients HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/clients',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"role": "string",
"documentGuid": "string",
"documentName": "string",
"documentType": "string",
"documentLocation": "string",
"streamId": "string",
"online": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/clients',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/clients',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/clients', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/clients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/clients", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /clients
Create a client
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"role": "string",
"documentGuid": "string",
"documentName": "string",
"documentType": "string",
"documentLocation": "string",
"streamId": "string",
"online": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | AppClient | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's clients. | ResponseClient |
400 | Bad Request | Fail whale. | ResponseBase |
ClientUpdate
Code samples
# You can also use wget
curl -X PUT https://hestia.speckle.works/api/clients/{clientId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://hestia.speckle.works/api/clients/{clientId} HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/clients/{clientId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"role": "string",
"documentGuid": "string",
"documentName": "string",
"documentType": "string",
"documentLocation": "string",
"streamId": "string",
"online": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/clients/{clientId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.put 'https://hestia.speckle.works/api/clients/{clientId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://hestia.speckle.works/api/clients/{clientId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://hestia.speckle.works/api/clients/{clientId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /clients/{clientId}
Update a client
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"role": "string",
"documentGuid": "string",
"documentName": "string",
"documentType": "string",
"documentLocation": "string",
"streamId": "string",
"online": true
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
clientId | path | string | true | none |
body | body | AppClient | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's clients. | ResponseClient |
400 | Bad Request | Fail whale. | ResponseBase |
ClientGet
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/clients/{clientId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/clients/{clientId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/clients/{clientId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/clients/{clientId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/clients/{clientId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/clients/{clientId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/clients/{clientId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /clients/{clientId}
Get a client
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
clientId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The client. | ResponseClient |
400 | Bad Request | Fail whale. | ResponseBase |
ClientDelete
Code samples
# You can also use wget
curl -X DELETE https://hestia.speckle.works/api/clients/{clientId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://hestia.speckle.works/api/clients/{clientId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/clients/{clientId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/clients/{clientId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hestia.speckle.works/api/clients/{clientId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://hestia.speckle.works/api/clients/{clientId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/clients/{clientId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://hestia.speckle.works/api/clients/{clientId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /clients/{clientId}
Deletes a client
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
clientId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
400 | Bad Request | Fail whale. | ResponseBase |
Projects
Create, get and update projects.
ProjectGetAll
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/projects \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/projects HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/projects',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/projects',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/projects',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/projects', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/projects");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/projects", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects
Gets a user's projects.
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's projects. | ResponseProject |
400 | Bad Request | Fail whale. | ResponseBase |
ProjectCreate
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/projects \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/projects HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/projects',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"name": "string",
"number": "string",
"users": [],
"streams": [],
"subProjects": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/projects',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/projects',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/projects', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/projects");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/projects", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /projects
Create a project
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"name": "string",
"number": "string",
"users": [],
"streams": [],
"subProjects": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Project | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's clients. | ResponseProject |
400 | Bad Request | Fail whale. | ResponseBase |
ProjectUpdate
Code samples
# You can also use wget
curl -X PUT https://hestia.speckle.works/api/projects/{projectId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://hestia.speckle.works/api/projects/{projectId} HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/projects/{projectId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"name": "string",
"number": "string",
"users": [],
"streams": [],
"subProjects": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/projects/{projectId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.put 'https://hestia.speckle.works/api/projects/{projectId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://hestia.speckle.works/api/projects/{projectId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/projects/{projectId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://hestia.speckle.works/api/projects/{projectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /projects/{projectId}
Update a project
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"name": "string",
"number": "string",
"users": [],
"streams": [],
"subProjects": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | none |
body | body | Project | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's projects. | ResponseProject |
400 | Bad Request | Fail whale. | ResponseBase |
ProjectGet
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/projects/{projectId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/projects/{projectId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/projects/{projectId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/projects/{projectId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/projects/{projectId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/projects/{projectId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/projects/{projectId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/projects/{projectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects/{projectId}
Get a project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The client. | ResponseProject |
400 | Bad Request | Fail whale. | ResponseBase |
ProjectDelete
Code samples
# You can also use wget
curl -X DELETE https://hestia.speckle.works/api/projects/{projectId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://hestia.speckle.works/api/projects/{projectId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/projects/{projectId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/projects/{projectId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hestia.speckle.works/api/projects/{projectId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://hestia.speckle.works/api/projects/{projectId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/projects/{projectId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://hestia.speckle.works/api/projects/{projectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /projects/{projectId}
Deletes a project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
400 | Bad Request | Fail whale. | ResponseBase |
Comments
Create, get and update comments.
CommentCreate
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/comments/{resourceType}/{resourceId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/comments/{resourceType}/{resourceId} HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"resource": {},
"text": "string",
"assignedTo": [],
"closed": true,
"labels": [],
"view": {},
"screenshot": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /comments/{resourceType}/{resourceId}
Creates a comment on a resource.
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"resource": {},
"text": "string",
"assignedTo": [],
"closed": true,
"labels": [],
"view": {},
"screenshot": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
resourceType | path | string | true | The resource type you want to comment on. |
resourceId | path | string | true | The resource id you want to comment on. In the case of streams, it must be a streamId. |
body | body | Comment | true | none |
Enumerated Values
Parameter | Value |
---|---|
resourceType | stream |
resourceType | object |
resourceType | project |
resourceType | comment |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseComment |
400 | Bad Request | Fail whale. | ResponseBase |
CommentGetFromResource
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/comments/{resourceType}/{resourceId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/comments/{resourceType}/{resourceId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/comments/{resourceType}/{resourceId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /comments/{resourceType}/{resourceId}
Gets the comments from a resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
resourceType | path | string | true | The resource type you want to comment on. |
resourceId | path | string | true | The resource id you want to comment on. In the case of streams, it must be a streamId. |
Enumerated Values
Parameter | Value |
---|---|
resourceType | stream |
resourceType | object |
resourceType | project |
resourceType | comment |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseComment |
400 | Bad Request | Fail whale. | ResponseBase |
CommentGet
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/comments/{commentId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/comments/{commentId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/comments/{commentId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/comments/{commentId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/comments/{commentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/comments/{commentId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/comments/{commentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/comments/{commentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /comments/{commentId}
Gets a specific comment.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
commentId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseComment |
400 | Bad Request | Fail whale. | ResponseBase |
CommentUpdate
Code samples
# You can also use wget
curl -X PUT https://hestia.speckle.works/api/comments/{commentId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://hestia.speckle.works/api/comments/{commentId} HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/comments/{commentId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"resource": {},
"text": "string",
"assignedTo": [],
"closed": true,
"labels": [],
"view": {},
"screenshot": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/comments/{commentId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.put 'https://hestia.speckle.works/api/comments/{commentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://hestia.speckle.works/api/comments/{commentId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/comments/{commentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://hestia.speckle.works/api/comments/{commentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /comments/{commentId}
Updates a comment.
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"resource": {},
"text": "string",
"assignedTo": [],
"closed": true,
"labels": [],
"view": {},
"screenshot": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
commentId | path | string | true | none |
body | body | Comment | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
400 | Bad Request | Fail whale. | ResponseBase |
CommentDelete
Code samples
# You can also use wget
curl -X DELETE https://hestia.speckle.works/api/comments/{commentId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://hestia.speckle.works/api/comments/{commentId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/comments/{commentId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/comments/{commentId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hestia.speckle.works/api/comments/{commentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://hestia.speckle.works/api/comments/{commentId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/comments/{commentId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://hestia.speckle.works/api/comments/{commentId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /comments/{commentId}
Deletes a specific comment.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
commentId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
400 | Bad Request | Fail whale. | ResponseBase |
Streams
Create, get and update streams.
StreamsGetAll
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/streams \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/streams HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/streams',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/streams', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/streams", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /streams
Gets a user's streams.
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseStream |
400 | Bad Request | Fail whale. | ResponseBase |
StreamCreate
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/streams \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/streams HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"streamId": "string",
"name": "string",
"objects": [],
"layers": [],
"baseProperties": {},
"globalMeasures": {},
"isComputedResult": false,
"viewerLayers": [],
"parent": "string",
"children": [],
"ancestors": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/streams',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/streams', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/streams", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /streams
Create a stream
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"streamId": "string",
"name": "string",
"objects": [],
"layers": [],
"baseProperties": {},
"globalMeasures": {},
"isComputedResult": false,
"viewerLayers": [],
"parent": "string",
"children": [],
"ancestors": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | SpeckleStream | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseStream |
400 | Bad Request | Fail whale. | ResponseBase |
StreamGet
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/streams/{streamId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/streams/{streamId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams/{streamId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams/{streamId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/streams/{streamId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/streams/{streamId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams/{streamId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/streams/{streamId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /streams/{streamId}
Gets a specific stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
streamId | path | string | true | none |
query | query | string | false | Specifiy which fields to retrieve, ie ?fields=layers,baseProperties . |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseStream |
400 | Bad Request | Fail whale. | ResponseBase |
StreamUpdate
Code samples
# You can also use wget
curl -X PUT https://hestia.speckle.works/api/streams/{streamId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://hestia.speckle.works/api/streams/{streamId} HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams/{streamId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"streamId": "string",
"name": "string",
"objects": [],
"layers": [],
"baseProperties": {},
"globalMeasures": {},
"isComputedResult": false,
"viewerLayers": [],
"parent": "string",
"children": [],
"ancestors": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams/{streamId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.put 'https://hestia.speckle.works/api/streams/{streamId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://hestia.speckle.works/api/streams/{streamId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams/{streamId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://hestia.speckle.works/api/streams/{streamId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /streams/{streamId}
Updates a stream.
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"streamId": "string",
"name": "string",
"objects": [],
"layers": [],
"baseProperties": {},
"globalMeasures": {},
"isComputedResult": false,
"viewerLayers": [],
"parent": "string",
"children": [],
"ancestors": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
streamId | path | string | true | none |
body | body | SpeckleStream | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
400 | Bad Request | Fail whale. | ResponseBase |
StreamDelete
Code samples
# You can also use wget
curl -X DELETE https://hestia.speckle.works/api/streams/{streamId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://hestia.speckle.works/api/streams/{streamId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams/{streamId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams/{streamId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hestia.speckle.works/api/streams/{streamId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://hestia.speckle.works/api/streams/{streamId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams/{streamId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://hestia.speckle.works/api/streams/{streamId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /streams/{streamId}
Deletes a specific stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
streamId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
400 | Bad Request | Fail whale. | ResponseBase |
StreamGetObjects
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/streams/{streamId}/objects \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/streams/{streamId}/objects HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams/{streamId}/objects',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams/{streamId}/objects',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/streams/{streamId}/objects',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/streams/{streamId}/objects', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams/{streamId}/objects");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/streams/{streamId}/objects", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /streams/{streamId}/objects
Gets stream objects.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
streamId | path | string | true | none |
query | query | string | false | Specifiy which fields to retrieve, filters, limits, etc. |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseObject |
400 | Bad Request | Fail whale. | ResponseBase |
StreamClone
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/streams/{streamId}/clone \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/streams/{streamId}/clone HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams/{streamId}/clone',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams/{streamId}/clone',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/streams/{streamId}/clone',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/streams/{streamId}/clone', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams/{streamId}/clone");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/streams/{streamId}/clone", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /streams/{streamId}/clone
Clones a stream.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
streamId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": [],
"clone": {},
"parent": {}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseStreamClone |
400 | Bad Request | Fail whale. | ResponseBase |
StreamDiff
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/streams/{streamId}/diff/{otherStreamId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /streams/{streamId}/diff/{otherStreamId}
Diffs two streams (objects and layers).
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
streamId | path | string | true | none |
otherStreamId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": [],
"objects": {},
"layers": {}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseStreamDiff |
400 | Bad Request | Fail whale. | ResponseBase |
Objects
Create, get and update objects.
ObjectCreate
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/objects \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/objects HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/objects',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '[
{}
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/objects',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/objects',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/objects', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/objects");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/objects", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /objects
Create one or more objects
Body parameter
[
{}
]
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | array[object] | false | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's projects. | ResponseObject |
400 | Bad Request | Fail whale. | ResponseBase |
ObjectUpdate
Code samples
# You can also use wget
curl -X PUT https://hestia.speckle.works/api/objects/{objectId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://hestia.speckle.works/api/objects/{objectId} HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/objects/{objectId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Null",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": []
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/objects/{objectId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.put 'https://hestia.speckle.works/api/objects/{objectId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://hestia.speckle.works/api/objects/{objectId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/objects/{objectId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://hestia.speckle.works/api/objects/{objectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /objects/{objectId}
Update a object
Body parameter
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Null",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": []
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
objectId | path | string | true | none |
body | body | SpeckleObject | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All the users's projects. | ResponseObject |
400 | Bad Request | Fail whale. | ResponseBase |
ObjectGet
Code samples
# You can also use wget
curl -X GET https://hestia.speckle.works/api/objects/{objectId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
GET https://hestia.speckle.works/api/objects/{objectId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/objects/{objectId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/objects/{objectId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hestia.speckle.works/api/objects/{objectId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.get('https://hestia.speckle.works/api/objects/{objectId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/objects/{objectId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://hestia.speckle.works/api/objects/{objectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /objects/{objectId}
Get a object
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
objectId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The client. | ResponseObject |
400 | Bad Request | Fail whale. | ResponseBase |
ObjectDelete
Code samples
# You can also use wget
curl -X DELETE https://hestia.speckle.works/api/objects/{objectId} \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
DELETE https://hestia.speckle.works/api/objects/{objectId} HTTP/1.1
Host: hestia.speckle.works
Accept: application/json
var headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/objects/{objectId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/objects/{objectId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hestia.speckle.works/api/objects/{objectId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.delete('https://hestia.speckle.works/api/objects/{objectId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/objects/{objectId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://hestia.speckle.works/api/objects/{objectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /objects/{objectId}
Deletes an object
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
objectId | path | string | true | none |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
400 | Bad Request | Fail whale. | ResponseBase |
ObjectUpdateProperties
Code samples
# You can also use wget
curl -X PUT https://hestia.speckle.works/api/objects/{objectId}/properties \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
PUT https://hestia.speckle.works/api/objects/{objectId}/properties HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/objects/{objectId}/properties',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/objects/{objectId}/properties',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.put 'https://hestia.speckle.works/api/objects/{objectId}/properties',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.put('https://hestia.speckle.works/api/objects/{objectId}/properties', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/objects/{objectId}/properties");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://hestia.speckle.works/api/objects/{objectId}/properties", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /objects/{objectId}/properties
Does a merge update of the object's properties.
Body parameter
{}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
objectId | path | string | true | none |
body | body | object | true | An object that holds the keys you want to modify or add. |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseBase |
ObjectGetBulk
Code samples
# You can also use wget
curl -X POST https://hestia.speckle.works/api/objects/getbulk \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: API_KEY'
POST https://hestia.speckle.works/api/objects/getbulk HTTP/1.1
Host: hestia.speckle.works
Content-Type: application/json
Accept: application/json
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
$.ajax({
url: 'https://hestia.speckle.works/api/objects/getbulk',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '[
"string"
]';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'API_KEY'
};
fetch('https://hestia.speckle.works/api/objects/getbulk',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hestia.speckle.works/api/objects/getbulk',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'API_KEY'
}
r = requests.post('https://hestia.speckle.works/api/objects/getbulk', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://hestia.speckle.works/api/objects/getbulk");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://hestia.speckle.works/api/objects/getbulk", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /objects/getbulk
Gets a load of objects
Body parameter
[
"string"
]
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
query | query | string | false | Specifiy which fields to retrieve, filters, limits, etc. For example, ?fields=type,properties,hash&type=Circle |
body | body | array[string] | true | An object that holds the keys you want to modify or add. |
Example responses
200 Response
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | All good! | ResponseObject |
400 | Bad Request | Fail whale. | ResponseBase |
Schemas
ResourceBase
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false
}
Base class that adds a set of simple properties related to authorisation and commenting to all applicable resources (not users).
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
_id | string | false | none | none |
owner | string | false | none | none |
private | boolean | false | none | none |
anonymousComments | boolean | false | none | none |
canRead | [string] | false | none | none |
canWrite | [string] | false | none | none |
comments | [string] | false | none | An array of comment ids. |
deleted | boolean | false | none | Controls archival status - does not actually delete anything |
User
{
"_id": "string",
"role": "string",
"avatar": "string",
"apitoken": "string",
"token": "string",
"email": "string",
"name": "string",
"surname": "string",
"company": "string",
"logins": []
}
Describes a user.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
_id | string | false | none | Database uuid. |
role | string | false | none | User's role. Defaults to "user". |
avatar | string | false | none | We will need profile pics at one point. |
apitoken | string | false | none | a signed jwt token that expires in 1 year. |
token | string | false | none | a signed jwt token that expires in 1 day. |
string | false | none | user's email | |
name | string | false | none | User's given name |
surname | string | false | none | User's family name |
company | string | false | none | Users's company |
logins | [object] | false | none | an array storing each time the user logged in. |
» date | string | false | none | none |
AppClient
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"role": "string",
"documentGuid": "string",
"documentName": "string",
"documentType": "string",
"documentLocation": "string",
"streamId": "string",
"online": true
}
A speckle client.
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResourceBase | false | none | Base class that adds a set of simple properties related to authorisation and commenting to all applicable resources (not users). |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» _id | string | false | none | Database uuid. |
» role | string | false | none | Either Sender, Receiver or anything else you can think of. |
» documentGuid | string | false | none | none |
» documentName | string | false | none | none |
» documentType | string | false | none | none |
» documentLocation | string | false | none | none |
» streamId | string | false | none | The streamId that this client is attached to. |
» online | boolean | false | none | Is it accessible from the server or not? |
Project
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"name": "string",
"number": "string",
"users": [],
"streams": [],
"subProjects": []
}
A project contains a group of streams and users.
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResourceBase | false | none | Base class that adds a set of simple properties related to authorisation and commenting to all applicable resources (not users). |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» _id | string | false | none | none |
» name | string | false | none | none |
» number | string | false | none | none |
» users | [string] | false | none | none |
» streams | [string] | false | none | none |
» subProjects | [string] | false | none | none |
Comment
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"resource": {},
"text": "string",
"assignedTo": [],
"closed": true,
"labels": [],
"view": {},
"screenshot": "string"
}
A comment/issue.
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResourceBase | false | none | Base class that adds a set of simple properties related to authorisation and commenting to all applicable resources (not users). |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» resource | object | false | none | none |
»» resourceType | string | false | none | none |
»» resourceId | string | false | none | none |
» text | string | false | none | none |
» assignedTo | [string] | false | none | none |
» closed | boolean | false | none | none |
» labels | [string] | false | none | none |
» view | object | false | none | none |
» screenshot | string | false | none | none |
SpeckleStream
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"streamId": "string",
"name": "string",
"objects": [],
"layers": [],
"baseProperties": {},
"globalMeasures": {},
"isComputedResult": false,
"viewerLayers": [],
"parent": "string",
"children": [],
"ancestors": []
}
A stream is essentially a collection of objects, with added properties.
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResourceBase | false | none | Base class that adds a set of simple properties related to authorisation and commenting to all applicable resources (not users). |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» streamId | string | false | none | The stream's short id. |
» name | string | false | none | The data stream's name |
» objects | [SpeckleObject] | false | none | An array of SpeckleObject ids. |
» layers | [Layer] | false | none | An array of speckle layers. |
» baseProperties | object | false | none | Units, tolerances, etc. |
» globalMeasures | object | false | none | Any performance measures can go in here. |
» isComputedResult | boolean | false | none | none |
» viewerLayers | [object] | false | none | none |
» parent | string | false | none | If this stream is a child, the parent's streamId. |
» children | [string] | false | none | An array of the streamId of any children of this stream. |
» ancestors | [string] | false | none | If resulting from a merge, the streams that this one was born out of. |
Layer
{
"name": "string",
"guid": "string",
"orderIndex": 0,
"startIndex": 0,
"objectCount": 0,
"topology": "string",
"properties": {}
}
Describes a speckle layer. To assign objects to a speckle layer, you'll need to start at objects[ layer.startIndex ]
and finish at objects[ layer.startIndex + layer.objectCount ]
.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | Layer's name |
guid | string | false | none | Layer's guid (must be unique) |
orderIndex | integer | false | none | Describes this layer's position in the list of layers. |
startIndex | number | false | none | The index of the first object relative to the stream's objects array |
objectCount | number | false | none | How many objects does this layer have. |
topology | string | false | none | String describing the nested tree structure (GH centric). |
properties | LayerProperties | false | none | Holds stream layer properties, mostly for displaying purposes. This object will be filled up with garbage from threejs and others, but below is a minimal schema. |
LayerProperties
{
"color": {},
"visible": true,
"pointsize": 0,
"linewidth": 0,
"shininess": 0,
"smooth": true,
"showEdges": true,
"wireframe": true
}
Holds stream layer properties, mostly for displaying purposes. This object will be filled up with garbage from threejs and others, but below is a minimal schema.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
color | object | false | none | none |
» a | number | false | none | alpha value |
» hex | string | false | none | hex color value |
visible | boolean | false | none | toggles layer visibility. |
pointsize | number | false | none | defines point size in threejs |
linewidth | number | false | none | defines line thickness in threejs |
shininess | number | false | none | says it all. speckle is superficial. |
smooth | boolean | false | none | smooth shading toggle |
showEdges | boolean | false | none | display edges or not yo. |
wireframe | boolean | false | none | i'm bored. |
ResponseUser
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» resource | User | false | none | Describes a user. |
» resources | [User] | false | none | [Describes a user.] |
ResponseBase
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
success | boolean | false | none | Besides the http status code, this tells you whether the call succeeded or not. |
message | string | false | none | Either an error or a confirmation. |
resource | object | false | none | Returned resource (if querying by id) |
resources | [object] | false | none | Returned resources array (if it's a bulk query) |
ResponseClient
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» resource | AppClient | false | none | A speckle client. |
» resources | [AppClient] | false | none | [A speckle client.] |
ResponseProject
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» resource | Project | false | none | A project contains a group of streams and users. |
» resources | [Project] | false | none | [A project contains a group of streams and users.] |
ResponseComment
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» resource | Comment | false | none | A comment/issue. |
» resources | [Comment] | false | none | [A comment/issue.] |
ResponseStream
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» resource | SpeckleStream | false | none | A stream is essentially a collection of objects, with added properties. |
» resources | [SpeckleStream] | false | none | [A stream is essentially a collection of objects, with added properties.] |
ResponseObject
{
"success": true,
"message": "string",
"resource": {},
"resources": []
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» resource | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
» resources | [SpeckleObject] | false | none | [Base class that is inherited by all other Speckle objects.] |
ResponseStreamClone
{
"success": true,
"message": "string",
"resource": {},
"resources": [],
"clone": {},
"parent": {}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» clone | SpeckleStream | false | none | A stream is essentially a collection of objects, with added properties. |
» parent | SpeckleStream | false | none | A stream is essentially a collection of objects, with added properties. |
ResponseStreamDiff
{
"success": true,
"message": "string",
"resource": {},
"resources": [],
"objects": {},
"layers": {}
}
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResponseBase | false | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» objects | object | false | none | none |
»» common | [string] | false | none | none |
»» inA | [string] | false | none | none |
»» inB | [string] | false | none | none |
» layers | object | false | none | none |
»» common | [Layer] | false | none | [Describes a speckle layer. To assign objects to a speckle layer, you'll need to start at objects[ layer.startIndex ] and finish at objects[ layer.startIndex + layer.objectCount ] .] |
»» inA | [Layer] | false | none | [Describes a speckle layer. To assign objects to a speckle layer, you'll need to start at objects[ layer.startIndex ] and finish at objects[ layer.startIndex + layer.objectCount ] .] |
»» inB | [Layer] | false | none | [Describes a speckle layer. To assign objects to a speckle layer, you'll need to start at objects[ layer.startIndex ] and finish at objects[ layer.startIndex + layer.objectCount ] .] |
SpeckleObject
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Null",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": []
}
Base class that is inherited by all other Speckle objects.
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ResourceBase | false | none | Base class that adds a set of simple properties related to authorisation and commenting to all applicable resources (not users). |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | string | false | none | Object's subtype |
» hash | string | false | none | Object's unique hash. |
» geometryHash | string | false | none | Object's geometry hash |
» applicationId | string | false | none | The id/guid that the origin application identifies this object by. |
» name | string | false | none | The name of the object in the origin application. This is the instance or entity name displayed in the "properties" dialog in most applications. |
» properties | object | false | none | The extra properties field of a speckle object. |
» parent | string | false | none | If this object is a child, the parent's objectid. |
» children | [string] | false | none | An array of the ids of any children of this object. |
» ancestors | [string] | false | none | If resulting from a merge, the objects that this one was born out of. |
» transform | [number] | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | Null |
type | Abstract |
type | Placeholder |
type | Boolean |
type | Number |
type | String |
type | Interval |
type | Interval2d |
type | Point |
type | Vector |
type | Plane |
type | Line |
type | Rectangle |
type | Circle |
type | Arc |
type | Ellipse |
type | Polycurve |
type | Box |
type | Polyline |
type | Curve |
type | Mesh |
type | Brep |
type | Annotation |
type | Extrusion |
SpeckleAbstract
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Abstract",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"_type": "string",
"assembly": "string"
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» _type | string | false | none | the original type of the object |
» assembly | string | false | none | the original assembly of this object |
SpecklePlaceholder
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Abstract",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": []
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
SpeckleBoolean
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Boolean",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"value": true
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» value | boolean | false | none | none |
SpeckleNumber
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Number",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"value": 0
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» value | number | false | none | A number. Can be float, double, etc. |
SpeckleString
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "String",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"value": "string"
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» value | string | false | none | A string. |
SpeckleInterval
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Interval",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"start": 0,
"end": 0
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» start | number | false | none | none |
» end | number | false | none | none |
SpeckleInterval2d
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Null",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"U": {},
"V": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» U | SpeckleInterval | false | none | U interval. |
» V | SpeckleInterval | false | none | V interval. |
SpecklePoint
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Point",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"value": []
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» value | [number] | false | none | An array containing the X, Y and Z coords of the point. |
SpeckleVector
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Vector",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"value": []
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» value | [number] | false | none | An array containing the X, Y and Z coords of the vector. |
SpecklePlane
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Plane",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"origin": {},
"normal": {},
"xdir": {},
"ydir": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» origin | SpecklePoint | false | none | The origin of the plane. |
» normal | SpeckleVector | false | none | The normal of the plane. |
» xdir | SpeckleVector | false | none | The X axis of the plane. |
» ydir | SpeckleVector | false | none | The Y axis of the plane. |
SpeckleCircle
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Circle",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"radius": 0,
"center": {},
"normal": {},
"domain": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» radius | number | false | none | none |
» center | SpecklePoint | false | none | none |
» normal | SpeckleVector | false | none | none |
» domain | SpeckleInterval | false | none | none |
SpeckleArc
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Arc",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"radius": 0,
"startAngle": 0,
"endAngle": 0,
"angleRadians": 0,
"plane": {},
"domain": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» radius | number | false | none | none |
» startAngle | number | false | none | none |
» endAngle | number | false | none | none |
» angleRadians | number | false | none | none |
» plane | SpecklePlane | false | none | none |
» domain | SpeckleInterval | false | none | none |
SpeckleEllipse
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Ellipse",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"firstRadius": 0,
"secondRadius": 0,
"plane": {},
"domain": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» firstRadius | number | false | none | none |
» secondRadius | number | false | none | none |
» plane | SpecklePlane | false | none | none |
» domain | SpeckleInterval | false | none | none |
SpecklePolycurve
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Polycurve",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"segments": [],
"domain": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» segments | [SpeckleObject] | false | none | [Base class that is inherited by all other Speckle objects.] |
» domain | SpeckleInterval | false | none | none |
SpeckleBox
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Box",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"basePlane": {},
"xSize": {},
"ySize": {},
"zSize": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» basePlane | SpecklePlane | false | none | none |
» xSize | SpeckleInterval | false | none | none |
» ySize | SpeckleInterval | false | none | none |
» zSize | SpeckleInterval | false | none | none |
SpeckleLine
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Line",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"value": [],
"domain": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» value | [number] | false | none | none |
» domain | SpeckleInterval | false | none | none |
SpecklePolyline
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Polyline",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"closed": true,
"value": [],
"domain": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» closed | boolean | false | none | none |
» value | [number] | false | none | none |
» domain | SpeckleInterval | false | none | none |
SpeckleCurve
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Curve",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"degree": 0,
"periodic": true,
"rational": true,
"points": [],
"weights": [],
"knots": [],
"domain": {},
"displayValue": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» degree | number | false | none | none |
» periodic | boolean | false | none | none |
» rational | boolean | false | none | none |
» points | [number] | false | none | none |
» weights | [number] | false | none | none |
» knots | [number] | false | none | none |
» domain | SpeckleInterval | false | none | none |
» displayValue | SpecklePolyline | false | none | none |
SpeckleMesh
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Mesh",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"vertices": [],
"faces": [],
"colors": [],
"textureCoordinates": []
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» vertices | [number] | false | none | The mesh's vertices array, in a flat array (ie, x1, y1, z1, x2, y2, ... ) |
» faces | [number] | false | none | The faces array. |
» colors | [number] | false | none | If any, the colours per vertex. |
» textureCoordinates | [number] | false | none | The faces array. |
SpeckleBrep
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Brep",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"rawData": {},
"provenance": "string",
"displayValue": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | any | false | none | none |
» rawData | object | false | none | The brep's raw (serialisation) data. |
» provenance | string | false | none | A short prefix of where the base64 comes from. |
» displayValue | SpeckleMesh | false | none | Contains a speckle mesh representation of this brep. |
SpeckleExtrusion
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Null",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"capped": true,
"profile": {},
"pathStart": {},
"pathEnd": {},
"pathCurve": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» capped | boolean | false | none | none |
» profile | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
» pathStart | SpecklePoint | false | none | none |
» pathEnd | SpecklePoint | false | none | none |
» pathCurve | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
SpeckleAnnotation
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Null",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"text": "string",
"textHeight": 0,
"fontName": "string",
"bold": true,
"italic": true,
"location": {},
"plane": {}
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» text | string | false | none | none |
» textHeight | number | false | none | none |
» fontName | string | false | none | none |
» bold | boolean | false | none | none |
» italic | boolean | false | none | none |
» location | SpecklePoint | false | none | none |
» plane | SpecklePlane | false | none | none |
SpeckleBlock
{
"_id": "string",
"owner": "string",
"private": true,
"anonymousComments": true,
"canRead": [],
"canWrite": [],
"comments": [],
"deleted": false,
"type": "Null",
"hash": "hash",
"geometryHash": "Type.hash",
"applicationId": "GUID",
"name": "string",
"properties": {},
"parent": "string",
"children": [],
"ancestors": [],
"transform": [],
"blockName": "string",
"description": "string",
"objects": []
}
Properties
allOf - discriminator: SpeckleObject.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | SpeckleObject | false | none | Base class that is inherited by all other Speckle objects. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» blockName | string | false | none | the name of the block definition used to insert this block |
» description | string | false | none | none |
» objects | [SpeckleObject] | false | none | [Base class that is inherited by all other Speckle objects.] |