Provision Resource
POST
/v1/installations/{installationId}/resourcesProvisions a Resource. This is a synchronous operation but the provisioning can be asynchronous as the Resource does not need to be immediately available however the secrets must be known ahead of time.
/v1/installations/{installationId}/resources
const response = await fetch('/v1/installations/installationId/resources', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN', 'Content-Type': 'application/json', }, body: JSON.stringify({ "productId": "example_id", "name": "Example Name", "metadata": "value", "billingPlanId": "example_id", "externalId": "example_id", "protocolSettings": { "experimentation": { "edgeConfigId": "example_id", "globalConfigId": "example_id" }, "authentication": { "appUrls": [ { "url": "https://example.com", "target": "development" } ] } } }),});
const data = await response.json();console.log(data);Response
{ "id": "icfg_1234567890", "productId": "example_id", "protocolSettings": { "experimentation": { "edgeConfigSyncingEnabled": "true", "edgeConfigId": "example_id", "globalConfigId": "example_id", "globalConfigSyncingEnabled": "true", "edgeConfigTokenId": "example_id" }, "authentication": { "appUrls": [ { "url": "https://example.com", "target": "development" } ] } }, "billingPlan": { "id": "icfg_1234567890", "type": "prepayment", "name": "Example Name", "scope": "installation", "description": "string", "paymentMethodRequired": "true", "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": "2024-01-01T00:00:00Z", "disabled": "true" }, "name": "Example Name", "metadata": "value", "status": "ready", "notification": { "level": "info", "title": "string", "message": "string", "href": "https://example.com" }, "secrets": [ { "name": "Example Name", "value": "string", "prefix": "string", "environmentOverrides": { "development": "string", "preview": "string", "production": "string" } } ], "customClaims": { "roles": [], "claimRules": [ { "when": { "role": [], "environment": [] }, "claims": "value" } ] }}Errors
{ "error": { "code": "validation_error", "message": "string", "user": { "message": "string", "url": "https://example.com" }, "fields": [ { "key": "string", "message": "string" } ] }}AuthorizationUser Authentication
Default authentication mechanism
installationIdstringRequired
X-Edgenivo-AuthstringOptional
The auth style used in the request (system, user, etc)
Idempotency-KeystringOptional
A unique key to identify a request across multiple retries
This endpoint expects an object.
productIdstringRequired
The partner-specific ID/slug of the product. Example: "redis"
namestringRequired
User-inputted name for the resource.
metadataobjectRequired
User-inputted metadata based on the registered metadata schema.
billingPlanIdstringRequired
Partner-provided billing plan. Example: "pro200"
externalIdstringOptional
An partner-provided identifier used to indicate the source of the resource provisioning. In the Deploy Button flow, the
externalId will equal the external-id query parameter.protocolSettingsobjectOptional
200Return the newly provisioned resource
idstringRequired
The partner-specific ID of the resource
productIdstringRequired
The partner-specific ID/slug of the product. Example: "redis"
protocolSettingsobjectOptional
billingPlanobjectOptional
The billing plan for the resource. If not set, the resource is billed on installation level.
namestringRequired
User-inputted name for the resource.
metadataobjectRequired
User-inputted metadata based on the registered metadata schema.
statusstringRequired
notificationobjectOptional
Resource's active notification. Example: { "level": "warn", "title": "Database is nearing maximum planned size" }
secretsarrayRequired
customClaimsobjectOptional
Custom claims embedded in the resource tokens Edgenivo mints for this resource.
400Input has failed validation
errorobjectRequired
403Operation failed because the authentication is not allowed to perform this operation
errorobjectRequired
409Operation failed because of a conflict with the current state of the resource
errorobjectRequired