arcade-mcp/toolkits/vercel_api/arcade_vercel_api/wrapper_tools/UploadClientCertToProject.json
jottakka 686dfce7b0
[MOAR][VERCEL] Adding Vercel Starter Toolkit (#638)
Vercel API

---------

Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-21 12:06:46 -03:00

287 lines
10 KiB
JSON

{
"name": "UploadClientCertToProject",
"fully_qualified_name": "VercelApi.UploadClientCertToProject@0.1.0",
"description": "Upload a client certificate for mTLS authentication.\n\nUse this tool to upload a client certificate to a Vercel project for mutual TLS (mTLS) authentication with external origins.",
"toolkit": {
"name": "ArcadeVercelApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "project_id_or_name",
"required": true,
"description": "The unique identifier or name of the Vercel project to upload the client certificate to. This is required to specify which project the mTLS certificate should be associated with.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique project identifier or the project name"
},
"inferrable": true,
"http_endpoint_parameter_name": "idOrName"
},
{
"name": "team_identifier",
"required": false,
"description": "The string identifier of the team to perform the request on behalf of.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The Team identifier to perform the request on behalf of."
},
"inferrable": true,
"http_endpoint_parameter_name": "teamId"
},
{
"name": "team_slug",
"required": false,
"description": "The slug representing the team on whose behalf the request is made.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The Team slug to perform the request on behalf of."
},
"inferrable": true,
"http_endpoint_parameter_name": "slug"
},
{
"name": "client_certificate_data",
"required": false,
"description": "JSON object containing the client certificate, private key, certificate authority, and optional origin and validation settings.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"cert": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The client certificate in PEM format"
},
"key": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The private key in PEM format"
},
"ca": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The certificate authority in PEM format"
},
"origin": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The origin this certificate should be used for. If not specified, the certificate will be project-wide."
},
"skipValidation": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Skip validation of the certificate"
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
}
]
},
"output": {
"description": "Response from the API endpoint 'uploadProjectClientCert'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "VERCEL_ACCESS_TOKEN"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the vercel API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://api.vercel.com/v1/projects/{idOrName}/client-cert",
"http_method": "POST",
"headers": {
"Content-Type": "application/json"
},
"parameters": [
{
"name": "teamId",
"tool_parameter_name": "team_identifier",
"description": "The Team identifier to perform the request on behalf of.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The Team identifier to perform the request on behalf of."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "slug",
"tool_parameter_name": "team_slug",
"description": "The Team slug to perform the request on behalf of.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The Team slug to perform the request on behalf of."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "idOrName",
"tool_parameter_name": "project_id_or_name",
"description": "The unique project identifier or the project name",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique project identifier or the project name"
},
"accepted_as": "path",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "client_certificate_data",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"cert": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The client certificate in PEM format"
},
"key": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The private key in PEM format"
},
"ca": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The certificate authority in PEM format"
},
"origin": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The origin this certificate should be used for. If not specified, the certificate will be project-wide."
},
"skipValidation": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Skip validation of the certificate"
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "VERCEL_ACCESS_TOKEN",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [\n \"cert\",\n \"key\"\n ],\n \"additionalProperties\": false,\n \"properties\": {\n \"cert\": {\n \"description\": \"The client certificate in PEM format\",\n \"type\": \"string\",\n \"example\": \"-----BEGIN CERTIFICATE-----\\\\\\\\n...\\\\\\\\n-----END CERTIFICATE-----\"\n },\n \"key\": {\n \"description\": \"The private key in PEM format\",\n \"type\": \"string\",\n \"example\": \"-----BEGIN PRIVATE KEY-----\\\\\\\\n...\\\\\\\\n-----END PRIVATE KEY-----\"\n },\n \"ca\": {\n \"description\": \"The certificate authority in PEM format\",\n \"type\": \"string\",\n \"example\": \"-----BEGIN CERTIFICATE-----\\\\\\\\n...\\\\\\\\n-----END CERTIFICATE-----\"\n },\n \"origin\": {\n \"description\": \"The origin this certificate should be used for. If not specified, the certificate will be project-wide.\",\n \"type\": \"string\",\n \"example\": \"https://api.example.com\"\n },\n \"skipValidation\": {\n \"type\": \"boolean\",\n \"description\": \"Skip validation of the certificate\"\n }\n }\n }\n }\n }\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}