POST /v1/storage/stores/integration/direct

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

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Query parameters

Name Type Required Description
teamId String No

The Team identifier to perform the request on behalf of.

slug String No

The Team slug to perform the request on behalf of.

Request body fields

Name Type Required Description
source String No

Source of the store creation request

Default value: "marketplace"

billingPlanId String No

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.

integrationConfigurationId String Yes

ID of your integration configuration. Get this from GET /v1/integrations/configurations

name String Yes

Human-readable name for the storage resource

paymentMethodId String No

Payment method ID for paid resources. Optional - uses default payment method if not provided.

externalId String No

Optional external identifier for tracking purposes

integrationProductIdOrSlug String Yes

ID or slug of the integration product. Get available products from GET /v1/integrations/configuration/{id}/products

metadata Object No

Optional key-value pairs for resource metadata

protocolSettings Object No

Protocol-specific configuration settings

prepaymentAmountCents Number No

Amount in cents for prepayment billing plans. Required only for prepayment plans with variable amounts.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.