{"formatVersion":"1","kind":"dock_integration","slug":"vercel-api","title":"Vercel API","summary":"Import a Harbor-safe Vercel starter set for project discovery, deployment listing, and approval-friendly deployment creation.","description":"A Dock-hosted Vercel API starter integration for Harbor. Importing it creates a local http_api port shell plus a Harbor-safe Vercel action set for listing projects, listing deployments, and creating deployments with explicit approval. Tokens remain local to Harbor Node.","version":"0.1.0","publisher":{"slug":"vercel","name":"Vercel","websiteUrl":"https://vercel.com/docs/rest-api"},"category":"Infrastructure","tags":["vercel","deployments","projects","hosting","ci"],"compatibility":{"harborNode":">=0.1.0","notes":"Requires local operator-configured auth after import. Vercel reads use typed input.query values and deployment creation uses input.body JSON payloads."},"requiredPlan":"community","portTemplates":[{"kind":"http_api","label":"Vercel API","description":"Vercel API connection managed locally through Harbor.","baseUrl":"https://api.vercel.com/","authMode":"header_token","authHeaderName":"Authorization","authTokenPrefix":"Bearer"}],"actionTemplates":[{"slug":"list-projects","label":"List Projects","description":"List Vercel projects with typed search, pagination, and team filters.","method":"GET","path":"/v10/projects","inputs":{"parameters":[{"name":"from","in":"query","schema":{"type":"string"},"description":"Optional timestamp or continuation token for pagination."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of projects to return."},{"name":"search","in":"query","schema":{"type":"string"},"description":"Search projects by name."},{"name":"teamId","in":"query","schema":{"type":"string"},"description":"Optional team identifier to perform the request on behalf of."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"get-deployments","label":"Get Deployments","description":"List Vercel deployments with typed project, team, and pagination filters.","method":"GET","path":"/v6/deployments","inputs":{"parameters":[{"name":"projectId","in":"query","schema":{"type":"string"},"description":"Optional Vercel project identifier to scope deployment results."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100},"description":"Maximum number of deployments to return."},{"name":"teamId","in":"query","schema":{"type":"string"},"description":"Optional team identifier to perform the request on behalf of."}]},"approvalMode":"automatic","requestBodyMode":"none","resultMode":"json_summary"},{"slug":"create-deployment","label":"Create Deployment","description":"Create a Vercel deployment using typed team query inputs and a bounded JSON request body.","method":"POST","path":"/v13/deployments","inputs":{"parameters":[{"name":"teamId","in":"query","schema":{"type":"string"},"description":"Optional team identifier to perform the request on behalf of."},{"name":"slug","in":"query","schema":{"type":"string"},"description":"Optional team slug to perform the request on behalf of."}]},"approvalMode":"require_approval","requestBodyMode":"json","resultMode":"json_summary"}],"helpText":"Import to Harbor, configure local auth, then use list-projects and get-deployments to inspect state before enabling create-deployment. Keep deployment creation on approval unless your local policy explicitly allows it.","installNotes":"Dock shares only safe metadata. Hidden auth must be configured locally inside Harbor after import. Vercel actions use Authorization: Bearer, typed query inputs for team scoping, and JSON request bodies for deployment creation."}