curl --request GET 'https://api.voicecheap.ai/v1/openapi.json'
const input = {};
const response = await fetch('https://api.voicecheap.ai/v1/openapi.json', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/v1/openapi.json",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Wykrywanie
Pobierz dokument OpenAPI akcji
Odczytaj publiczny opis OpenAPI 3.1 wszystkich akcji klienta i ich schematów danych wejściowych.
GET
/
v1
/
openapi.json
curl --request GET 'https://api.voicecheap.ai/v1/openapi.json'
const input = {};
const response = await fetch('https://api.voicecheap.ai/v1/openapi.json', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/v1/openapi.json",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Odczytaj publiczny opis OpenAPI 3.1 wszystkich akcji klienta i ich schematów danych wejściowych.
GET https://api.voicecheap.ai/v1/openapi.json
Uwierzytelnianie
Brak. Ta trasa nie uwierzytelnia konta ani nie przyznaje dostępu do żadnej akcji.Przykłady żądań
Stosuj udokumentowany sposób kodowania i uwierzytelniania dla tej ścieżki. Struktura odpowiedzi i reguły idempotencji API akcji dotyczą wyłącznie wywołań akcji.curl --request GET 'https://api.voicecheap.ai/v1/openapi.json'
const input = {};
const response = await fetch('https://api.voicecheap.ai/v1/openapi.json', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/v1/openapi.json",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Odpowiedź
Reprezentatywny fragment metadanych. Pełna odpowiedź zawiera również ścieżki każdej zarejestrowanej akcji, w tym jej schemat żądania JSON, wymagane zakresy, nagłówek idempotencji mutacji i udokumentowane wyniki HTTP.HTTP 200
{
"openapi": "3.1.0",
"info": {
"title": "VoiceCheap API",
"version": "1.0.0",
"description": "Public customer actions shared with the VoiceCheap MCP. Existing multipart v1 routes remain documented separately."
},
"servers": [
{
"url": "https://api.voicecheap.ai/v1"
}
],
"security": [
{
"ApiKey": []
},
{
"BearerApiKey": []
}
],
"components": {
"securitySchemes": {
"ApiKey": {
"type": "apiKey",
"in": "header",
"name": "x-api-key"
},
"BearerApiKey": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "VoiceCheap API key"
}
}
}
}
Uwagi do operacji
- Zwrócone servers[0].url zawiera /v1. Ścieżki akcji w dokumencie zaczynają się od /actions/, więc nie dodawaj /v1 po raz drugi.
- To pełny, niefiltrowany katalog akcji. Użyj uwierzytelnionego GET /v1/actions, aby sprawdzić, do jakich akcji uprawniają określone dane uwierzytelniające.
- Dokument OpenAPI udostępniany w czasie działania obejmuje tylko kierowanie wywołań akcji; nie zawiera tras OAuth, /mcp, samego wykrywania ani istniejących tras przesyłania wieloczęściowego.
- Ten odczyt nie zużywa miesięcznego wywołania integracji ani licznika częstotliwości wywołań integracji na koncie. Nadal obowiązują publiczne zabezpieczenia HTTP usługi.
- Przykłady używają produkcyjnych adresów bazowych. Odczytuj metadane z wybranego środowiska, zamiast mieszać produkcję ze środowiskiem deweloperskim.
Czy ta strona była pomocna?

