Create integration store (free and paid plans)
POST
https://api.vercel.com/v1/storage/stores/integration/directCreates an integration store with automatic billing plan handling. For free resources, omit
billingPlanId to auto-discover free plans. For paid resources, provide a billingPlanId from the billing plans endpoint.https://api.vercel.com/v1/storage/stores/integration/direct
const response = await fetch('https://api.vercel.com/v1/storage/stores/integration/direct?teamId=string&slug=string', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN', 'Content-Type': 'application/json', }, body: JSON.stringify({ "name": "my-dev-database", "integrationConfigurationId": "icfg_cuwj0AdCdH3BwWT4LPijCC7t", "integrationProductIdOrSlug": "value", "metadata": "[object Object]", "externalId": "dev-db-001", "protocolSettings": "[object Object]", "source": "marketplace", "billingPlanId": "bp_abc123def456", "paymentMethodId": "pm_1AbcDefGhiJklMno", "prepaymentAmountCents": "5000" }),});
const data = await response.json();console.log(data);Response
{ "store": { "projectFilter": { "git": { "owners": [], "providers": [], "repos": [] } }, "projectsMetadata": [ { "deployments": { "actions": [ { "environments": [], "slug": "string" } ], "required": "false" }, "environments": [], "environmentVariables": [], "envVarPrefix": "string", "framework": "actix-web", "id": "icfg_1234567890", "latestDeployment": "string", "makeEnvVarsSensitive": "false", "name": "Example Name", "projectId": "example_id" } ], "status": "available", "totalConnectedProjects": "123", "usageQuotaExceeded": "false", "billingPlan": { "cost": "string", "description": "string", "details": [ { "label": "string", "value": "string" } ], "disabled": "false", "effectiveDate": "string", "highlightedDetails": [ { "label": "string", "value": "string" } ], "id": "icfg_1234567890", "initialCharge": "string", "maximumAmount": "100.00", "maximumAmountAutoPurchasePerPeriod": "100.00", "minimumAmount": "100.00", "name": "Example Name", "paymentMethodRequired": "false", "preauthorizationAmount": "123", "quote": [ { "amount": "100.00", "line": "string" } ], "scope": "installation", "type": "prepayment" }, "capabilities": { "agentTools": "false", "autoSensitive": "false", "billable": "false", "mcp": "false", "mcpReadonly": "false", "projects": "false", "secretRotation": { "customRotationWarning": "string", "maxDelayHours": "123" }, "secretsSync": "false", "sso": "false", "transferable": "false", "v0": "false" }, "directPartnerConsoleUrl": "https://example.com", "externalResourceId": "example_id", "externalResourceStatus": "error", "metadata": "value", "notification": { "href": "string", "level": "error", "message": "string", "title": "string" }, "ownership": "linked", "parentId": "example_id", "product": { "agentSkills": [], "capabilities": { "agentTools": "false", "autoSensitive": "false", "billable": "false", "connectedImportResource": "false", "databaseUI": "false", "importResource": "false", "linking": "false", "mcp": "false", "mcpReadonly": "false", "nativeImportResource": "false", "projects": "false", "sandbox": "false", "secretRotation": { "customRotationWarning": "string", "maxDelayHours": "123" }, "secretsSync": "false", "sso": "false", "transferable": "false", "v0": "false", "v0Flavors": "false" }, "disableResourceRenaming": "false", "iconUrl": "https://example.com", "id": "icfg_1234567890", "metadataSchema": { "properties": "value", "required": [], "type": "object", "ui:order": [] }, "name": "Example Name", "projectConnectionScopes": [], "resourceLinks": [ { "href": "string", "title": "string" } ], "resourceTitle": "Instance", "shortDescription": "string", "showSSOLinkOnProjectConnection": "false", "slug": "string", "tags": [], "repl": { "enabled": "false", "supportsReadOnlyMode": "false", "welcomeMessage": "string" }, "guides": [ { "framework": "string", "steps": [ { "actions": [ { "type": "add_drain" } ], "content": "string", "title": "string" } ], "title": "string" } ], "integration": { "capabilities": { "billable": "false", "checks": "false", "connectedImportResource": "false", "connectedProvisioning": "false", "flexCommitEligible": "false", "importResource": "false", "maxAllowedTeams": "123", "mcp": "false", "mcpConfiguration": "false", "mcpReadonly": "false", "nativeImportResource": "false", "provisioning": "false", "requiresBrowserInstall": "false", "secretRotation": { "customRotationWarning": "string", "maxDelayHours": "123" }, "sso": "false", "templateCloneOnly": "false", "transferable": "false", "updateConfiguration": "false", "v0Flavors": "false" }, "flags": [], "icon": "string", "id": "icfg_1234567890", "name": "Example Name", "slug": "string", "supportsInstallationBillingPlans": "false" }, "integrationConfigurationId": "example_id", "logDrainStatus": "disabled", "primaryProtocol": "ai", "supportedProtocols": [] }, "protocolSettings": { "authentication": { "appUrls": [ { "target": "development", "url": "https://example.com" } ] }, "experimentation": { "edgeConfigId": "example_id", "edgeConfigSyncingEnabled": "false", "edgeConfigTokenId": "example_id", "globalConfigId": "example_id", "globalConfigSyncingEnabled": "false" } }, "secretRotationCompletedAt": "123", "secretRotationRequestedAt": "123", "secretRotationRequestedBy": "string", "secretRotationRequestedReason": "Customer requested refund", "secrets": [ { "frameworkPublishable": "false", "length": "123", "name": "Example Name" } ], "targets": [] }}AuthorizationbearerToken
Default authentication mechanism
application/json
ID of your integration configuration. Get this from GET /v1/integrations/configurations
ID of the billing plan for paid resources. Get available plans from GET /integrations/integration/{id}/products/{productId}/plans. If not provided, automatically discovers free billing plans.
Payment method ID for paid resources. Optional - uses default payment method if not provided.