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": { "projectsMetadata": [ { "id": "icfg_1234567890", "projectId": "example_id", "name": "Example Name", "framework": "blitzjs", "latestDeployment": "string", "environments": [], "envVarPrefix": "string", "environmentVariables": [], "deployments": { "required": "false", "actions": [ { "slug": "string", "environments": [] } ] } } ], "projectFilter": { "git": { "providers": [], "owners": [], "repos": [] } }, "totalConnectedProjects": "123", "usageQuotaExceeded": "false", "status": "available", "ownership": "owned", "capabilities": { "mcp": "false", "mcpReadonly": "false", "sso": "false", "billable": "false", "transferable": "false", "secretsSync": "false", "secretRotation": { "maxDelayHours": "123" }, "projects": "false", "v0": "false" }, "metadata": "value", "externalResourceId": "example_id", "externalResourceStatus": "error", "directPartnerConsoleUrl": "https://example.com", "product": { "id": "icfg_1234567890", "name": "Example Name", "slug": "string", "iconUrl": "https://example.com", "capabilities": { "mcp": "false", "mcpReadonly": "false", "sso": "false", "billable": "false", "transferable": "false", "secretsSync": "false", "secretRotation": { "maxDelayHours": "123" }, "sandbox": "false", "linking": "false", "projects": "false", "v0": "false", "importResource": "false", "connectedImportResource": "false", "nativeImportResource": "false", "databaseUI": "false" }, "shortDescription": "string", "metadataSchema": { "type": "object", "properties": "value", "required": [] }, "resourceLinks": [ { "href": "string", "title": "string" } ], "tags": [], "projectConnectionScopes": [], "showSSOLinkOnProjectConnection": "false", "disableResourceRenaming": "false", "resourceTitle": "Instance", "agentSkillUrl": "https://example.com", "repl": { "enabled": "false", "supportsReadOnlyMode": "false", "welcomeMessage": "string" }, "guides": [ { "framework": "string", "title": "string", "steps": [ { "title": "string", "content": "string", "actions": [ { "type": "connect_to_project" } ] } ] } ], "integration": { "id": "icfg_1234567890", "name": "Example Name", "slug": "string", "supportsInstallationBillingPlans": "false", "icon": "string", "flags": [] }, "integrationConfigurationId": "example_id", "supportedProtocols": [], "primaryProtocol": "experimentation", "logDrainStatus": "disabled" }, "protocolSettings": { "experimentation": { "edgeConfigSyncingEnabled": "false", "edgeConfigId": "example_id", "edgeConfigTokenId": "example_id" } }, "notification": { "title": "string", "level": "error", "message": "string", "href": "string" }, "secrets": [ { "name": "Example Name", "length": "123" } ], "billingPlan": { "type": "prepayment", "description": "string", "id": "icfg_1234567890", "name": "Example Name", "scope": "installation", "paymentMethodRequired": "false", "preauthorizationAmount": "123", "initialCharge": "string", "minimumAmount": "100.00", "maximumAmount": "100.00", "maximumAmountAutoPurchasePerPeriod": "100.00", "cost": "string", "details": [ { "label": "string", "value": "string" } ], "highlightedDetails": [ { "label": "string", "value": "string" } ], "quote": [ { "line": "string", "amount": "100.00" } ], "effectiveDate": "string", "disabled": "false" }, "secretRotationRequestedAt": "123", "secretRotationRequestedReason": "Customer requested refund", "secretRotationRequestedBy": "string", "secretRotationCompletedAt": "123", "parentId": "example_id", "targets": [] }}AuthorizationbearerToken
Default authentication mechanism
teamIdstringOptional
The Team identifier to perform the request on behalf of.
slugstringOptional
The Team slug to perform the request on behalf of.
application/json
namestringRequired
Human-readable name for the storage resource
integrationConfigurationIdstringRequired
ID of your integration configuration. Get this from GET /v1/integrations/configurations
integrationProductIdOrSlugobjectRequired2 variants
metadataobjectOptional
Optional key-value pairs for resource metadata
externalIdstringOptional
Optional external identifier for tracking purposes
protocolSettingsobjectOptional
Protocol-specific configuration settings
sourcestringOptional
Source of the store creation request
billingPlanIdstringOptional
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.
paymentMethodIdstringOptional
Payment method ID for paid resources. Optional - uses default payment method if not provided.
prepaymentAmountCentsnumberOptional
Amount in cents for prepayment billing plans. Required only for prepayment plans with variable amounts.
200Success
storeobjectRequired
400One of the provided values in the request body is invalid.
401The request is not authorized.
402The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
403You do not have permission to access this resource.
404Error
409Error
429Error
500Error