Creates an integration store for both FREE and PAID billing plans. This simplified endpoint automatically provisions real integration storage resources while handling billing complexity behind the scenes. It supports both free and paid billing plans with automatic authorization creation for paid resources. ## How it works 1. Validates the integration configuration and product 2. For free resources: Auto-discovers available free billing plans 3. For paid resources: Creates billing authorization inline using provided billingPlanId 4. Provisions real resources through the Vercel Marketplace 5. Returns the created store with connection details ## Workflow Before using this endpoint, discover available products and billing plans: 1. List your configurations: GET /v1/integrations/configurations 2. Get products for a configuration: GET /v1/integrations/configuration/{id}/products 3. Get billing plans for a product: GET /integrations/integration/{integrationId}/products/{productId}/plans 4. Review the metadataSchema for each product to understand required metadata 5. Create storage with discovered product: POST /v1/storage/stores/integration/direct ## Usage Patterns - Free resources: Omit billingPlanId - endpoint will auto-discover free plans - Paid resources: Provide billingPlanId from billing plans discovery - Prepayment plans: Also provide prepaymentAmountCents for variable amount plans ## Limitations - Admin access required: Only integration configuration admins can create stores - Storage limits apply: Subject to your team’s storage quotas - Payment method required: For paid plans, ensure valid payment method is configured ## Error Responses - 400 Bad Request: Invalid input, no plans available, or billing issues - 403 Forbidden: Insufficient permissions (non-admin users) - 404 Not Found: Integration configuration or product not found - 429 Too Many Requests: Rate limit exceeded
Default authentication mechanism
The Team identifier to perform the request on behalf of.
"team_1a2b3c4d5e6f7g8h9i0j1k2l"
The Team slug to perform the request on behalf of.
"my-team-url-slug"
Human-readable name for the storage resource
128"my-dev-database"
ID of your integration configuration. Get this from GET /v1/integrations/configurations
"icfg_cuwj0AdCdH3BwWT4LPijCC7t"
ID or slug of the integration product. Get available products from GET /v1/integrations/configuration/{id}/products Product ID format
"iap_postgres_db"
Optional key-value pairs for resource metadata
{
"environment": "development",
"project": "my-app",
"tags": ["database", "postgres"]
}Optional external identifier for tracking purposes
"dev-db-001"
Protocol-specific configuration settings
{
"experimentation": { "edgeConfigSyncingEnabled": true }
}Source of the store creation request
"api"
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.
"bp_abc123def456"
Payment method ID for paid resources. Optional - uses default payment method if not provided.
"pm_1AbcDefGhiJklMno"
Amount in cents for prepayment billing plans. Required only for prepayment plans with variable amounts.
x >= 505000