Skip to content
Docs

Import Resource

PUThttps://api.vercel.com/v1/installations/{integrationConfigurationId}/resources/{resourceId}
This endpoint imports (upserts) a resource to Vercel's installation. This may be needed if resources can be independently created on the partner's side and need to be synchronized to Vercel. When importing as part of the user-initiated import flow, call this endpoint before redirecting the user back to Vercel. See the Import existing resources flow for the full contract.
https://api.vercel.com/v1/installations/{integrationConfigurationId}/resources/{resourceId}
const response = await fetch('https://api.vercel.com/v1/installations/integrationConfigurationId/resources/resourceId', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"ownership": "owned",
"productId": "example_id",
"name": "Example Name",
"status": "ready",
"metadata": "value",
"billingPlan": {
"id": "icfg_1234567890",
"type": "prepayment",
"name": "Example Name",
"description": "string",
"paymentMethodRequired": "true",
"cost": "string",
"details": [
{
"label": "string",
"value": "string"
}
],
"highlightedDetails": [
{
"label": "string",
"value": "string"
}
],
"effectiveDate": "string"
},
"notification": {
"level": "info",
"title": "string",
"message": "string",
"href": "https://example.com"
},
"extras": "value",
"secrets": [
{
"name": "Example Name",
"value": "string",
"prefix": "string",
"environmentOverrides": {
"development": "string",
"preview": "string",
"production": "string"
}
}
],
"customClaims": {
"roles": [],
"defaultRole": "string",
"claimRules": [
{
"when": {
"role": [],
"environment": []
},
"claims": "value"
}
]
}
}),
});
const data = await response.json();
console.log(data);
Response
{
"name": "Example Name"
}
AuthorizationbearerToken

Default authentication mechanism

integrationConfigurationIdstringRequired
resourceIdstringRequired

This endpoint expects an object.

ownershipstringOptional
productIdstringRequired
namestringRequired
statusstringRequired
metadataobjectOptional
billingPlanobjectOptional
notificationobjectOptional
extrasobjectOptional
secretsarrayOptional
customClaimsobjectOptional
Custom claims embedded in the resource tokens Vercel mints for this resource.
200Success
namestringRequired
400One of the provided values in the request body is invalid. One of the provided values in the request query is invalid.
401The request is not authorized.
403You do not have permission to access this resource.
404Error
409Error
410Error
422Error
Import Resource | Vercel API