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)
Découverte
Obtenir le document OpenAPI des actions
Lisez la description publique OpenAPI 3.1 de toutes les actions client et de leurs schémas d’entrée.
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)
Lisez la description publique OpenAPI 3.1 de toutes les actions client et de leurs schémas d’entrée.
GET https://api.voicecheap.ai/v1/openapi.json
Authentification
Aucune. Cette route n’authentifie aucun compte et n’accorde l’accès à aucune action.Exemples de requêtes
Suivez l’encodage et l’authentification documentés pour cette route. L’enveloppe et les règles d’idempotence de l’API d’actions s’appliquent uniquement aux invocations d’actions.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)
Réponse
Extrait représentatif des métadonnées. La réponse complète contient également les chemins de chaque action enregistrée, avec son schéma de requête JSON, les portées requises, l’en-tête d’idempotence des mutations et les résultats HTTP documentés.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"
}
}
}
}
Notes de l’opération
- Le servers[0].url renvoyé inclut /v1. Les chemins d’actions du document commencent par /actions/ ; n’ajoutez donc pas /v1 une seconde fois.
- Il s’agit du catalogue complet des actions, sans filtre. Utilisez GET /v1/actions avec authentification pour découvrir les actions autorisées pour un identifiant d’authentification donné.
- Le document OpenAPI fourni à l’exécution couvre uniquement l’exécution des actions ; il n’inclut pas les routes OAuth, /mcp, la découverte elle-même ni les routes d’envoi multipartie existantes.
- Cette lecture ne consomme ni appel d’intégration mensuel ni compteur de fréquence d’intégration du compte. Les protections HTTP publiques du service restent applicables.
- Les exemples utilisent les origines de production. Lisez les métadonnées de l’environnement sélectionné au lieu de mélanger production et développement.
Cette page vous a-t-elle été utile ?

