Import a library bundle
Import pre-parsed libraries into an airgapped on-premise install, as a JSON body or a Context7 Cloud export file
1 min read
posthttps://your-instance.example.com/api/import-libraries
Request example
curl --request POST \
--url https://your-instance.example.com/api/import-libraries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"libraries": [
{
"project": "/vercel/next.js",
"title": "<string>",
"description": "<string>",
"type": "<string>",
"language": "English",
"branch": "<string>",
"docsRepoUrl": "<string>",
"docsSiteUrl": "<string>",
"totalTokens": 1,
"codeSnippets": [
{
"id": "<string>",
"title": "<string>",
"description": "<string>",
"language": "<string>",
"codeList": [
{
"language": "<string>",
"code": "<string>"
}
],
"tokens": 1
}
],
"infoSnippets": [
{
"id": "<string>",
"content": "<string>",
"breadcrumb": "<string>",
"tokens": 1
}
]
}
],
"force": false
}'import requests
url = "https://your-instance.example.com/api/import-libraries"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
}
payload = {
"libraries": [
{
"project": "/vercel/next.js",
"title": "<string>",
"description": "<string>",
"type": "<string>",
"language": "English",
"branch": "<string>",
"docsRepoUrl": "<string>",
"docsSiteUrl": "<string>",
"totalTokens": 1,
"codeSnippets": [
{
"id": "<string>",
"title": "<string>",
"description": "<string>",
"language": "<string>",
"codeList": [
{
"language": "<string>",
"code": "<string>"
}
],
"tokens": 1
}
],
"infoSnippets": [
{
"id": "<string>",
"content": "<string>",
"breadcrumb": "<string>",
"tokens": 1
}
]
}
],
"force": False
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.text)const response = await fetch('https://your-instance.example.com/api/import-libraries', {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"libraries": [
{
"project": "/vercel/next.js",
"title": "<string>",
"description": "<string>",
"type": "<string>",
"language": "English",
"branch": "<string>",
"docsRepoUrl": "<string>",
"docsSiteUrl": "<string>",
"totalTokens": 1,
"codeSnippets": [
{
"id": "<string>",
"title": "<string>",
"description": "<string>",
"language": "<string>",
"codeList": [
{
"language": "<string>",
"code": "<string>"
}
],
"tokens": 1
}
],
"infoSnippets": [
{
"id": "<string>",
"content": "<string>",
"breadcrumb": "<string>",
"tokens": 1
}
]
}
],
"force": false
})
});
const data = await response.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://your-instance.example.com/api/import-libraries',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"libraries": [
{
"project": "/vercel/next.js",
"title": "<string>",
"description": "<string>",
"type": "<string>",
"language": "English",
"branch": "<string>",
"docsRepoUrl": "<string>",
"docsSiteUrl": "<string>",
"totalTokens": 1,
"codeSnippets": [
{
"id": "<string>",
"title": "<string>",
"description": "<string>",
"language": "<string>",
"codeList": [
{
"language": "<string>",
"code": "<string>"
}
],
"tokens": 1
}
],
"infoSnippets": [
{
"id": "<string>",
"content": "<string>",
"breadcrumb": "<string>",
"tokens": 1
}
]
}
],
"force": false
}',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer <token>',
'Content-Type: application/json',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://your-instance.example.com/api/import-libraries"
payload := strings.NewReader("{\n \"libraries\": [\n {\n \"project\": \"/vercel/next.js\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"language\": \"English\",\n \"branch\": \"<string>\",\n \"docsRepoUrl\": \"<string>\",\n \"docsSiteUrl\": \"<string>\",\n \"totalTokens\": 1,\n \"codeSnippets\": [\n {\n \"id\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"language\": \"<string>\",\n \"codeList\": [\n {\n \"language\": \"<string>\",\n \"code\": \"<string>\"\n }\n ],\n \"tokens\": 1\n }\n ],\n \"infoSnippets\": [\n {\n \"id\": \"<string>\",\n \"content\": \"<string>\",\n \"breadcrumb\": \"<string>\",\n \"tokens\": 1\n }\n ]\n }\n ],\n \"force\": false\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))
}HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://your-instance.example.com/api/import-libraries"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("{\n \"libraries\": [\n {\n \"project\": \"/vercel/next.js\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"type\": \"<string>\",\n \"language\": \"English\",\n \"branch\": \"<string>\",\n \"docsRepoUrl\": \"<string>\",\n \"docsSiteUrl\": \"<string>\",\n \"totalTokens\": 1,\n \"codeSnippets\": [\n {\n \"id\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"language\": \"<string>\",\n \"codeList\": [\n {\n \"language\": \"<string>\",\n \"code\": \"<string>\"\n }\n ],\n \"tokens\": 1\n }\n ],\n \"infoSnippets\": [\n {\n \"id\": \"<string>\",\n \"content\": \"<string>\",\n \"breadcrumb\": \"<string>\",\n \"tokens\": 1\n }\n ]\n }\n ],\n \"force\": false\n}"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require 'uri'
require 'net/http'
url = URI('https://your-instance.example.com/api/import-libraries')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = url.scheme == 'https'
request = Net::HTTP::Post.new(url)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = '{
"libraries": [
{
"project": "/vercel/next.js",
"title": "<string>",
"description": "<string>",
"type": "<string>",
"language": "English",
"branch": "<string>",
"docsRepoUrl": "<string>",
"docsSiteUrl": "<string>",
"totalTokens": 1,
"codeSnippets": [
{
"id": "<string>",
"title": "<string>",
"description": "<string>",
"language": "<string>",
"codeList": [
{
"language": "<string>",
"code": "<string>"
}
],
"tokens": 1
}
],
"infoSnippets": [
{
"id": "<string>",
"content": "<string>",
"breadcrumb": "<string>",
"tokens": 1
}
]
}
],
"force": false
}'
response = http.request(request)
puts response.read_bodyResponse
{
"message": "Queued 2 libraries for import",
"queued": [
"/vercel/next.js",
"/facebook/react"
],
"skipped": [
{
"project": "<string>",
"reason": "already exists"
}
]
}{
"error": "repoUrl is required"
}{
"error": "Authentication required"
}{
"error": "Library import is available only with an offline license."
}{
"error": "An unexpected error occurred"
}posthttps://your-instance.example.com/api/import-libraries
Authorization
API key generated from Personal Settings. See Authentication.
Query parameters
Overwrite libraries that already exist. Handy when posting a piped export body, which carries no
force field. Without it, existing libraries are skipped.Default: false
Body
application/json · multipart/form-dataThe libraries to import. Each carries its full snippet content; embeddings are recomputed on this install.
Show child attributesHide child attributes
Library identifier, e.g.
/your-org/your-repoSource type of the library (e.g.
repo, website, openapi)Responses
application/json
Libraries accepted and queued for import
Human-readable error description
Human-readable error description
Human-readable error description
Human-readable error description
Was this page helpful?