Activar implementación de vista previa
Crea o actualiza una implementación de vista previa para una rama específica. Si ya existe una vista previa para la rama, se activa una reimplementación. Devuelve un ID de estado para hacer seguimiento del progreso y la URL de la vista previa.
Autentícate con una clave de API de administrador.
curl --request POST \
--url https://api.mintlify.com/v1/project/preview/{projectId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"branch": "<string>",
"auth": {
"type": "password",
"password": "<string>"
}
}
'import requests
url = "https://api.mintlify.com/v1/project/preview/{projectId}"
payload = {
"branch": "<string>",
"auth": {
"type": "password",
"password": "<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({branch: '<string>', auth: {type: 'password', password: '<string>'}})
};
fetch('https://api.mintlify.com/v1/project/preview/{projectId}', 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.mintlify.com/v1/project/preview/{projectId}",
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([
'branch' => '<string>',
'auth' => [
'type' => 'password',
'password' => '<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://api.mintlify.com/v1/project/preview/{projectId}"
payload := strings.NewReader("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\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://api.mintlify.com/v1/project/preview/{projectId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mintlify.com/v1/project/preview/{projectId}")
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 \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusId": "<string>",
"previewUrl": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}statusId que puedes pasar a Get deployment status para rastrear el progreso de la implementación.
Requisitos de la rama
branch debe existir en el repositorio conectado a tu proyecto de Mintlify y debes tener instalada la aplicación de GitHub de Mintlify. Este endpoint no admite ramas de forks. Consulta Solicitudes de extracción de forks para saber cómo previsualizar cambios de un fork.
Casos de uso
- Pipelines CI/CD: Crea automáticamente implementaciones de vista previa cuando los usuarios abren o actualizan solicitudes de extracción.
- Vistas previas programadas: Genera vistas previas de ramas de funcionalidades de larga duración de forma programada.
- Herramientas personalizadas: Integra la creación de vistas previas en flujos de trabajo internos o bots de Slack.
Acceso a las vistas previas
auth en el cuerpo de la solicitud. Mintlify aplica la configuración de acceso a la vista previa antes de poner en cola la implementación. Si omites auth, la vista previa conserva su configuración de acceso actual.
{ "type": "password", "password": "..." }: Cualquier persona con la contraseña puede ver la vista previa. Las contraseñas deben tener al menos 8 caracteres. Establecer una contraseña reemplaza cualquier contraseña existente en la vista previa.{ "type": "mintlify" }: Solo los miembros de tu organización que hayan iniciado sesión en Mintlify pueden ver la vista previa.
curl --request POST \
--url https://api.mintlify.com/v1/project/preview/{projectId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"branch": "feature/new-guide",
"auth": { "type": "password", "password": "review-pass-123" }
}'
auth tiene estos requisitos:
- Tu plan debe incluir la autenticación de implementaciones de vista previa. De lo contrario, el endpoint devuelve un
403. - Tu sitio debe tener habilitada la autenticación o la autenticación de vistas previas. De lo contrario, el endpoint devuelve un
409. - La autenticación debe estar habilitada en la propia vista previa. De lo contrario, el endpoint devuelve un
409.
Límites de tasa
Autorizaciones
El encabezado Authorization requiere un token de tipo Bearer. Usa una clave de API de administrador. Esta es una clave secreta del lado del servidor. Genera una en la página de claves de API de tu dashboard.
Parámetros de ruta
Cuerpo
El nombre de la rama de Git para la cual crear una implementación de vista previa.
1Restricción de acceso que se aplicará a la vista previa. Omítelo para mantener sin cambios la configuración de acceso actual de la vista previa. Requiere un plan que incluya la autenticación de vistas previas, y tu sitio debe tener habilitada la autenticación o la autenticación de vistas previas.
- Contraseña
- Inicio de sesión en el dashboard
Show child attributes
Show child attributes
Respuesta
Implementación de vista previa puesta en cola correctamente.
El ID de estado para hacer seguimiento de la implementación de vista previa. Úsalo con el endpoint Get deployment status.
La URL donde se aloja la implementación de vista previa.
curl --request POST \
--url https://api.mintlify.com/v1/project/preview/{projectId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"branch": "<string>",
"auth": {
"type": "password",
"password": "<string>"
}
}
'import requests
url = "https://api.mintlify.com/v1/project/preview/{projectId}"
payload = {
"branch": "<string>",
"auth": {
"type": "password",
"password": "<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({branch: '<string>', auth: {type: 'password', password: '<string>'}})
};
fetch('https://api.mintlify.com/v1/project/preview/{projectId}', 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.mintlify.com/v1/project/preview/{projectId}",
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([
'branch' => '<string>',
'auth' => [
'type' => 'password',
'password' => '<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://api.mintlify.com/v1/project/preview/{projectId}"
payload := strings.NewReader("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\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://api.mintlify.com/v1/project/preview/{projectId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mintlify.com/v1/project/preview/{projectId}")
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 \"branch\": \"<string>\",\n \"auth\": {\n \"type\": \"password\",\n \"password\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"statusId": "<string>",
"previewUrl": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}