cURL
curl --request POST \
--url https://api.mudstack.com/workspaces/assets/{asset_id}/attachments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--header 'x-account-id: <x-account-id>' \
--header 'x-workspace-id: <x-workspace-id>' \
--form file='@example-file' \
--form 'body={}'import requests
url = "https://api.mudstack.com/workspaces/assets/{asset_id}/attachments"
files = { "file": ("example-file", open("example-file", "rb")) }
payload = { "body": "{}" }
headers = {
"x-account-id": "<x-account-id>",
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('file', '<string>');
form.append('body', '{}');
const options = {
method: 'POST',
headers: {
'x-account-id': '<x-account-id>',
'x-workspace-id': '<x-workspace-id>',
Authorization: 'Bearer <token>'
}
};
options.body = form;
fetch('https://api.mudstack.com/workspaces/assets/{asset_id}/attachments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mudstack.com/workspaces/assets/{asset_id}/attachments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data",
"x-account-id: <x-account-id>",
"x-workspace-id: <x-workspace-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mudstack.com/workspaces/assets/{asset_id}/attachments"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-account-id", "<x-account-id>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mudstack.com/workspaces/assets/{asset_id}/attachments")
.header("x-account-id", "<x-account-id>")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mudstack.com/workspaces/assets/{asset_id}/attachments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-account-id"] = '<x-account-id>'
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"asset_id": "<string>",
"created_by_user_id": "<string>",
"file_id": "<string>",
"thumbnail_file_id": "<string>",
"review_id": "<string>",
"comment_id": "<string>",
"name": "<string>",
"description": "<string>",
"user": {
"id": "<string>",
"auth0UserID": "<string>",
"username": "<string>",
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"avatar_file_id": "<string>",
"defaultAvatar": 123,
"industry": "<string>",
"occupation": "<string>",
"company": "<string>",
"emailVerified": true,
"isActive": true,
"city": "<string>",
"state": "<string>",
"country": "<string>",
"zipCode": "<string>",
"invited_by_user": "<unknown>"
}
}Attachments
Create attachment
Create a new attachment for a specific asset.
POST
/
workspaces
/
assets
/
{asset_id}
/
attachments
cURL
curl --request POST \
--url https://api.mudstack.com/workspaces/assets/{asset_id}/attachments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--header 'x-account-id: <x-account-id>' \
--header 'x-workspace-id: <x-workspace-id>' \
--form file='@example-file' \
--form 'body={}'import requests
url = "https://api.mudstack.com/workspaces/assets/{asset_id}/attachments"
files = { "file": ("example-file", open("example-file", "rb")) }
payload = { "body": "{}" }
headers = {
"x-account-id": "<x-account-id>",
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, data=payload, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('file', '<string>');
form.append('body', '{}');
const options = {
method: 'POST',
headers: {
'x-account-id': '<x-account-id>',
'x-workspace-id': '<x-workspace-id>',
Authorization: 'Bearer <token>'
}
};
options.body = form;
fetch('https://api.mudstack.com/workspaces/assets/{asset_id}/attachments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mudstack.com/workspaces/assets/{asset_id}/attachments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data",
"x-account-id: <x-account-id>",
"x-workspace-id: <x-workspace-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mudstack.com/workspaces/assets/{asset_id}/attachments"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-account-id", "<x-account-id>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mudstack.com/workspaces/assets/{asset_id}/attachments")
.header("x-account-id", "<x-account-id>")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mudstack.com/workspaces/assets/{asset_id}/attachments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-account-id"] = '<x-account-id>'
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"body\"\r\n\r\n{}\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"asset_id": "<string>",
"created_by_user_id": "<string>",
"file_id": "<string>",
"thumbnail_file_id": "<string>",
"review_id": "<string>",
"comment_id": "<string>",
"name": "<string>",
"description": "<string>",
"user": {
"id": "<string>",
"auth0UserID": "<string>",
"username": "<string>",
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"avatar_file_id": "<string>",
"defaultAvatar": 123,
"industry": "<string>",
"occupation": "<string>",
"company": "<string>",
"emailVerified": true,
"isActive": true,
"city": "<string>",
"state": "<string>",
"country": "<string>",
"zipCode": "<string>",
"invited_by_user": "<unknown>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
200 - application/json
The created attachment
Represents an attachment associated with an asset.
Unique identifier for the asset attachment.
Identifier of the associated asset.
Identifier of the user who created the attachment.
Identifier of the file associated with the attachment.
Identifier of the thumbnail file associated with the attachment.
Identifier of the associated review.
Identifier of the associated comment.
Name of the attachment.
Description of the attachment.
User associated with the attachment.
Show child attributes
Show child attributes
Was this page helpful?
⌘I