Skip to main content
POST
/
v1
/
namespace
/
{id}
/
create
Create a new namespace
curl --request POST \
  --url {scheme}://{host}:{port}/{basePath}/v1/namespace/{id}/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "identity": {
    "api_key": "<string>",
    "auth_token": "<string>"
  },
  "context": {},
  "id": [
    "<string>"
  ],
  "mode": "<string>",
  "properties": {}
}
'
import requests

url = "{scheme}://{host}:{port}/{basePath}/v1/namespace/{id}/create"

payload = {
    "identity": {
        "api_key": "<string>",
        "auth_token": "<string>"
    },
    "context": {},
    "id": ["<string>"],
    "mode": "<string>",
    "properties": {}
}
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({
    identity: {api_key: '<string>', auth_token: '<string>'},
    context: {},
    id: ['<string>'],
    mode: '<string>',
    properties: {}
  })
};

fetch('{scheme}://{host}:{port}/{basePath}/v1/namespace/{id}/create', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_PORT => "62437",
  CURLOPT_URL => "{scheme}://{host}:{port}/{basePath}/v1/namespace/{id}/create",
  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([
    'identity' => [
        'api_key' => '<string>',
        'auth_token' => '<string>'
    ],
    'context' => [
        
    ],
    'id' => [
        '<string>'
    ],
    'mode' => '<string>',
    'properties' => [
        
    ]
  ]),
  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 := "{scheme}://{host}:{port}/{basePath}/v1/namespace/{id}/create"

	payload := strings.NewReader("{\n  \"identity\": {\n    \"api_key\": \"<string>\",\n    \"auth_token\": \"<string>\"\n  },\n  \"context\": {},\n  \"id\": [\n    \"<string>\"\n  ],\n  \"mode\": \"<string>\",\n  \"properties\": {}\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("{scheme}://{host}:{port}/{basePath}/v1/namespace/{id}/create")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"identity\": {\n    \"api_key\": \"<string>\",\n    \"auth_token\": \"<string>\"\n  },\n  \"context\": {},\n  \"id\": [\n    \"<string>\"\n  ],\n  \"mode\": \"<string>\",\n  \"properties\": {}\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("{scheme}://{host}:{port}/{basePath}/v1/namespace/{id}/create")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"identity\": {\n    \"api_key\": \"<string>\",\n    \"auth_token\": \"<string>\"\n  },\n  \"context\": {},\n  \"id\": [\n    \"<string>\"\n  ],\n  \"mode\": \"<string>\",\n  \"properties\": {}\n}"

response = http.request(request)
puts response.read_body
{
  "context": {},
  "transaction_id": "<string>",
  "properties": {}
}
{
  "type": "/errors/bad-request",
  "title": "Malformed request",
  "status": 400,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/unauthorized-request",
  "title": "No valid authentication credentials for the operation",
  "status": 401,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/forbidden-request",
  "title": "Not authorized to make this request",
  "status": 403,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/not-found-error",
  "title": "Not found Error",
  "status": 404,
  "detail": "",
  "instance": "/v1/namespaces/{ns}"
}
{
  "type": "/errors/unsupported-operation",
  "title": "The server does not support this operation",
  "status": 406,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/conflict",
  "title": "The namespace has been concurrently modified",
  "status": 409,
  "detail": "",
  "instance": "/v1/namespaces/{ns}"
}
{
  "type": "/errors/service-unavailable",
  "title": "Slow down",
  "status": 503,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/server-error",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "",
  "instance": "/v1/namespaces"
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

id
string
required

string identifier of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, v1/namespace/$/list performs a ListNamespace on the root namespace.

Query Parameters

delimiter
string

An optional delimiter of the string identifier, following the Lance Namespace spec. When not specified, the $ delimiter must be used.

Body

application/json
identity
object

Identity information of a request.

context
object

Arbitrary context as key-value pairs. How to use the context is custom to the specific implementation.

On a request, it carries caller-provided context to the implementation. On a response, it carries implementation-provided context back to the caller.

REST NAMESPACE ONLY Context entries are mapped to and from HTTP headers using the header. prefix:

  • On a request, any entry whose key starts with header. is sent as an HTTP request header with the prefix stripped. For example, the entry {"header.Authorization": "Bearer abc"} is sent as the request header Authorization: Bearer abc.
  • On a response, every HTTP response header is returned as an entry whose key is the header name prefixed with header.. For example, the response header x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.
id
string[]
mode
string

There are three modes when trying to create a namespace, to differentiate the behavior when a namespace of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are:

  • Create: the operation fails with 409.
  • ExistOk: the operation succeeds and the existing namespace is kept.
  • Overwrite: the existing namespace is dropped and a new empty namespace with this name is created.
properties
object

Properties stored on the namespace, if supported by the implementation.

Response

Result of creating a namespace

context
object

Arbitrary context as key-value pairs. How to use the context is custom to the specific implementation.

On a request, it carries caller-provided context to the implementation. On a response, it carries implementation-provided context back to the caller.

REST NAMESPACE ONLY Context entries are mapped to and from HTTP headers using the header. prefix:

  • On a request, any entry whose key starts with header. is sent as an HTTP request header with the prefix stripped. For example, the entry {"header.Authorization": "Bearer abc"} is sent as the request header Authorization: Bearer abc.
  • On a response, every HTTP response header is returned as an entry whose key is the header name prefixed with header.. For example, the response header x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.
transaction_id
string

Optional transaction identifier

properties
object

Properties after the namespace is created.

If the server does not support namespace properties, it should return null for this field. If namespace properties are supported, but none are set, it should return an empty object.