Publish a private module version
curl --request POST \
--url https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish', 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.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish"
req, _ := http.NewRequest("POST", url, nil)
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.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"module": {
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"kind": "proprietary",
"vendor": "<string>",
"owner_organization_id": "<string>",
"current_version_id": "<string>",
"status": "draft",
"created_at": "<string>",
"updated_at": "<string>"
},
"version": {
"id": "<string>",
"module_id": "<string>",
"version": "<string>",
"manifest": {},
"status": "draft",
"published_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}Modules
Publish a private module version
The owning organization publishes its module from an admin session. The manifest must fit the platform manifest contract. Native event types belong to the module, while canonical event types belong to the platform; a manifest that does not fit the publish-time contract is rejected and remains a draft. An org_ key cannot publish a module.
POST
/
v1
/
modules
/
{moduleId}
/
versions
/
{versionId}
/
publish
Publish a private module version
curl --request POST \
--url https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish', 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.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish"
req, _ := http.NewRequest("POST", url, nil)
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.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.develop.fourdos.dev/v1/modules/{moduleId}/versions/{versionId}/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"module": {
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"kind": "proprietary",
"vendor": "<string>",
"owner_organization_id": "<string>",
"current_version_id": "<string>",
"status": "draft",
"created_at": "<string>",
"updated_at": "<string>"
},
"version": {
"id": "<string>",
"module_id": "<string>",
"version": "<string>",
"manifest": {},
"status": "draft",
"published_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"status": 123,
"message": "<string>",
"details": {}
}
}Authorizations
Partner admin session token sent as Authorization: Bearer <token>. Obtained by signing in (console or the email OTP endpoints) and completing the second factor; see the Authentication page.