curl --request POST \
--url https://orbitlab.dev/api/v1/services/{id}/databases \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"username": "<string>",
"engine": "<string>",
"connectionUrl": "<string>"
}
'import requests
url = "https://orbitlab.dev/api/v1/services/{id}/databases"
payload = {
"name": "<string>",
"username": "<string>",
"engine": "<string>",
"connectionUrl": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
username: '<string>',
engine: '<string>',
connectionUrl: '<string>'
})
};
fetch('https://orbitlab.dev/api/v1/services/{id}/databases', 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://orbitlab.dev/api/v1/services/{id}/databases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'username' => '<string>',
'engine' => '<string>',
'connectionUrl' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://orbitlab.dev/api/v1/services/{id}/databases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"username\": \"<string>\",\n \"engine\": \"<string>\",\n \"connectionUrl\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://orbitlab.dev/api/v1/services/{id}/databases")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"username\": \"<string>\",\n \"engine\": \"<string>\",\n \"connectionUrl\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://orbitlab.dev/api/v1/services/{id}/databases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"username\": \"<string>\",\n \"engine\": \"<string>\",\n \"connectionUrl\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{}{
"error": "<unknown>"
}{
"error": "<unknown>"
}{
"error": "<unknown>"
}{
"error": "<unknown>"
}{
"error": "<unknown>"
}Add a database to a service
Within the plan’s database allowance. Shared hosting: records the database. App (owner or admin): provisions a Postgres or MySQL database, links it to the app and sets DATABASE_URL (plus engine-specific vars) unless the app already defines DATABASE_URL.
CLI: orbitlab db create <name> --service [service] [--engine postgres|mysql]
curl --request POST \
--url https://orbitlab.dev/api/v1/services/{id}/databases \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"username": "<string>",
"engine": "<string>",
"connectionUrl": "<string>"
}
'import requests
url = "https://orbitlab.dev/api/v1/services/{id}/databases"
payload = {
"name": "<string>",
"username": "<string>",
"engine": "<string>",
"connectionUrl": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
username: '<string>',
engine: '<string>',
connectionUrl: '<string>'
})
};
fetch('https://orbitlab.dev/api/v1/services/{id}/databases', 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://orbitlab.dev/api/v1/services/{id}/databases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'username' => '<string>',
'engine' => '<string>',
'connectionUrl' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://orbitlab.dev/api/v1/services/{id}/databases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"username\": \"<string>\",\n \"engine\": \"<string>\",\n \"connectionUrl\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://orbitlab.dev/api/v1/services/{id}/databases")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"username\": \"<string>\",\n \"engine\": \"<string>\",\n \"connectionUrl\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://orbitlab.dev/api/v1/services/{id}/databases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"username\": \"<string>\",\n \"engine\": \"<string>\",\n \"connectionUrl\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{}{
"error": "<unknown>"
}{
"error": "<unknown>"
}{
"error": "<unknown>"
}{
"error": "<unknown>"
}{
"error": "<unknown>"
}Autorisations
API token (olab_…) created in Settings → API tokens or with orbitlab login.
En-têtes
Organization to act on (id or slug) for tokens that can access several organizations. Defaults to your first organization.
Paramètres de chemin
Service id.
Corps
Lowercase letters, digits, underscores (max 64).
Shared hosting only. Defaults to name (max 32).
App only: postgres (default) or mysql.
App only: attach a database already provisioned in the app's zone (postgres|mysql.<zone>.orbitlab.dev) instead of creating one. Env vars are left unchanged.
Réponse
database including the generated password (and connectionUrl for apps); envUpdated for apps.
The response is of type object.
Cette page vous a-t-elle été utile ?