Manage a Purple Suite instance: lifecycle, MCP settings, data (seed/export/import/reset), and **outbound webhooks**.
**Auth.** Every operation except `POST /instances` (create) is authenticated with the instance's Personal Access Token: send `Authorization: Bearer <PAT>` and the `X-Instance-ID` header. The PAT is returned once when the instance is created and is shown in the app under Settings → Credentials.
**Shared instances (view-only).** An instance shared by link from the app can also be read with a **viewer token** in place of the PAT (same headers). Viewer requests are read-only: any non-GET method, and the settings/export reads on this API, return `403` with `code: viewer_read_only` or `owner_only`. Viewer tokens are minted by the app for internal users and stop working the moment sharing is turned off.
**Webhooks.** A webhook fires an HTTP POST to your `url` when a subscribed event occurs (e.g. `hris.time_off_request.created`). Subscriptions support exact event types and wildcards: `*` (everything) and `<app>.*` (a whole app).
**Signing.** When a webhook has `signingEnabled`, each delivery is signed with the instance signing secret: header `X-PurpleSuite-Signature: sha256=<hex>` over `"<X-PurpleSuite-Timestamp>.<rawBody>"` (HMAC-SHA256). Generate/rotate the secret via `POST /instances/{instanceId}/webhook-signing/rotate`.
**Custom headers.** Each webhook may carry arbitrary outbound headers (e.g. an `Authorization` for your receiver). Header values flagged `encrypted` are stored encrypted at rest and never returned (masked on read).
Manage a Purple Suite instance: lifecycle, MCP settings, data (seed/export/import/reset), and **outbound webhooks**.
**Auth.** Every operation except `POST /instances` (create) is authenticated with the instance's Personal Access Token: send `Authorization: Bearer <PAT>` and the `X-Instance-ID` header. The PAT is returned once when the instance is created and is shown in the app under Settings → Credentials.
**Shared instances (view-only).** An instance shared by link from the app can also be read with a **viewer token** in place of the PAT (same headers). Viewer requests are read-only: any non-GET method, and the settings/export reads on this API, return `403` with `code: viewer_read_only` or `owner_only`. Viewer tokens are minted by the app for internal users and stop working the moment sharing is turned off.
**Webhooks.** A webhook fires an HTTP POST to your `url` when a subscribed event occurs (e.g. `hris.time_off_request.created`). Subscriptions support exact event types and wildcards: `*` (everything) and `<app>.*` (a whole app).
**Signing.** When a webhook has `signingEnabled`, each delivery is signed with the instance signing secret: header `X-PurpleSuite-Signature: sha256=<hex>` over `"<X-PurpleSuite-Timestamp>.<rawBody>"` (HMAC-SHA256). Generate/rotate the secret via `POST /instances/{instanceId}/webhook-signing/rotate`.
**Custom headers.** Each webhook may carry arbitrary outbound headers (e.g. an `Authorization` for your receiver). Header values flagged `encrypted` are stored encrypted at rest and never returned (masked on read).
Operations
GET /instances/systems
Discover systems and available paints
Public catalog of source-system ids, collections and selectable paints. native identifies PurpleSuite API transport; visualOnly identifies vendor appearance with native APIs. Other non-native paints use admitted exact contracts. Internal systems require an authenticated internal user to appear.
Authentication
[]
Request, responses and operation details
{
"summary": "Discover systems and available paints",
"description": "Public catalog of source-system ids, collections and selectable paints. native identifies PurpleSuite API transport; visualOnly identifies vendor appearance with native APIs. Other non-native paints use admitted exact contracts. Internal systems require an authenticated internal user to appear.",
"security": [],
"responses": {
"200": {
"description": "Available systems and paint modes",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"systems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"paints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"paint": {
"type": "string"
},
"native": {
"type": "boolean"
},
"visualOnly": {
"type": "boolean"
}
}
}
},
"collections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"route": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
POST /instances
Create an instance
Public — no PAT required. Creates one shared instance for all apps and returns its PAT (shown once). Provide name and optionally paintSelections, a single map of public app ids to paints from anonymous GET /instances/systems. Internal-only and hidden apps are rejected. Top-level paint is rejected; legacy system metadata is optional and unnecessary for new clients. Invalid selections are rejected before any instance is created. Visual-only paints retain native APIs; consult returned contracts for runtime and spec URLs. Creation does not seed data. POST /instances/{instanceId}/seed populates native sample data and may reset painted storage. For a painted demo, follow the selected contract and create fixtures with its supported operations; Linear issues require GraphQL issueCreate.
Authentication
[]
Request, responses and operation details
{
"summary": "Create an instance",
"description": "Public — no PAT required. Creates one shared instance for all apps and returns its PAT (shown once). Provide name and optionally paintSelections, a single map of public app ids to paints from anonymous GET /instances/systems. Internal-only and hidden apps are rejected. Top-level paint is rejected; legacy system metadata is optional and unnecessary for new clients. Invalid selections are rejected before any instance is created. Visual-only paints retain native APIs; consult returned contracts for runtime and spec URLs. Creation does not seed data. POST /instances/{instanceId}/seed populates native sample data and may reset painted storage. For a painted demo, follow the selected contract and create fixtures with its supported operations; Linear issues require GraphQL issueCreate.",
"security": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInstanceRequest"
}
}
}
},
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInstanceResponse"
}
}
}
},
"400": {
"description": "Invalid request, unsupported top-level paint field, unsupported app paint, or unavailable exact contract"
},
"403": {
"description": "Supplied Marketplace user PAT is invalid or lacks the instance-create scope"
},
"409": {
"description": "Instance id already exists"
}
}
}
GET /instances/{instanceId}
Get instance metadata
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Get instance metadata",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Instance"
}
}
}
},
"404": {
"description": "Not found"
}
}
}
DELETE /instances/{instanceId}
Delete instance
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Delete instance",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponse"
}
}
}
}
}
}
POST /instances/{instanceId}/extend
Extend the instance TTL
Push out the expiry by a named duration (`ttl`) or to an explicit instant (`expiresAt`). Both are capped at 7 days from now.
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Extend the instance TTL",
"description": "Push out the expiry by a named duration (`ttl`) or to an explicit instant (`expiresAt`). Both are capped at 7 days from now.",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ttl": {
"type": "string",
"enum": [
"1 hour",
"1 day",
"7 days"
],
"example": "7 days"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "Explicit target expiry (ISO 8601). Must be in the future and within 7 days. Takes precedence over ttl."
}
}
}
}
}
},
"responses": {
"200": {
"description": "Extended",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"expiresAt": {
"type": "string",
"format": "date-time"
}
}
}
}
}
}
}
}
POST /instances/{instanceId}/rotate-pat
Rotate the instance PAT
Issues a new PAT and invalidates the current one — anything using the old key stops working. Requires the CURRENT PAT.
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Rotate the instance PAT",
"description": "Issues a new PAT and invalidates the current one — anything using the old key stops working. Requires the CURRENT PAT.",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "New PAT (shown once)",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"pat": {
"type": "string"
}
}
}
}
}
}
}
}
GET /instances/{instanceId}/lifecycle
Read the instance's expiry behaviour
Internal only. Requires the instance PAT **and** an `X-PS-Auth-Token`.
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Read the instance's expiry behaviour",
"description": "Internal only. Requires the instance PAT **and** an `X-PS-Auth-Token`.",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Lifecycle settings",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InstanceLifecycle"
}
}
}
},
"401": {
"description": "Missing or invalid X-PS-Auth-Token"
}
}
}
PUT /instances/{instanceId}/lifecycle
Reset data at expiry instead of deleting the instance
Internal only. Requires the instance PAT **and** an `X-PS-Auth-Token` (minted by `POST /rbac/purple-suite-token` for internal users).
With `dataResetOnly: true` the instance is **not** deleted when it expires: its data is wiped and regenerated and the expiry moves out another 7 days. The instance ID and API key never change, so HTTP actions and connectors pointing at it keep working across demo cycles. All data is still destroyed every 7 days.
Renewal is driven by use — after a period of no API activity (`idleCutoffDays`) the setting turns itself off and the instance expires normally.
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Reset data at expiry instead of deleting the instance",
"description": "Internal only. Requires the instance PAT **and** an `X-PS-Auth-Token` (minted by `POST /rbac/purple-suite-token` for internal users).\n\nWith `dataResetOnly: true` the instance is **not** deleted when it expires: its data is wiped and regenerated and the expiry moves out another 7 days. The instance ID and API key never change, so HTTP actions and connectors pointing at it keep working across demo cycles. All data is still destroyed every 7 days.\n\nRenewal is driven by use — after a period of no API activity (`idleCutoffDays`) the setting turns itself off and the instance expires normally.",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"dataResetOnly"
],
"properties": {
"dataResetOnly": {
"type": "boolean"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InstanceLifecycle"
}
}
}
},
"400": {
"description": "dataResetOnly must be a boolean"
},
"401": {
"description": "Missing or invalid X-PS-Auth-Token"
}
}
}
GET /instances/{instanceId}/paint
Get per-system paint selections
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Get per-system paint selections",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Explicit selections only; a system that is absent uses the native PurpleSuite contract.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"selections": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
}
}
}
}
}
GET /instances/{instanceId}/paint/{system}
Get one system's selected paint
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Get one system's selected paint",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
},
{
"in": "path",
"name": "system",
"required": true,
"schema": {
"type": "string"
},
"description": "PurpleSuite source-system id"
}
],
"responses": {
"200": {
"description": "Selection and resolved contract",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaintSelection"
}
}
}
}
}
}
PUT /instances/{instanceId}/paint/{system}
Select one system's visual and API paint
Persists the selection server-side. `purplesuite` restores the native appearance and contract. Explicit visual-only paints retain native APIs and return visualOnly: true. Exact-contract paints are accepted only once their adapter is admitted.
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Select one system's visual and API paint",
"description": "Persists the selection server-side. `purplesuite` restores the native appearance and contract. Explicit visual-only paints retain native APIs and return visualOnly: true. Exact-contract paints are accepted only once their adapter is admitted.",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
},
{
"in": "path",
"name": "system",
"required": true,
"schema": {
"type": "string"
},
"description": "PurpleSuite source-system id"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"paint"
],
"properties": {
"paint": {
"type": "string",
"example": "purplesuite"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Updated selection and resolved contract",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PaintSelection"
},
{
"type": "object",
"required": [
"selections"
],
"properties": {
"selections": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Every explicit per-system selection after this write."
}
}
}
]
}
}
}
},
"400": {
"description": "`unsupported_paint` — not renderable for this system; `contract_unavailable` — requires an exact adapter that is not admitted.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string",
"enum": [
"unsupported_paint",
"contract_unavailable"
]
},
"supportedPaints": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
GET /instances/{instanceId}/contracts/{system}
Discover the active contract's runtime and documentation URLs
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Discover the active contract's runtime and documentation URLs",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
},
{
"in": "path",
"name": "system",
"required": true,
"schema": {
"type": "string"
},
"description": "PurpleSuite source-system id"
}
],
"responses": {
"200": {
"description": "Resolved active contract",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaintSelection"
}
}
}
}
}
}
GET /instances/{instanceId}/mcp/settings
Get MCP settings
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Get MCP settings",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Settings",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpSettings"
}
}
}
}
}
}
PUT /instances/{instanceId}/mcp/settings
Update MCP settings
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Update MCP settings",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpSettings"
}
}
}
},
"responses": {
"200": {
"description": "Updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpSettings"
}
}
}
}
}
}
GET /instances/{instanceId}/webhook-events
List subscribable webhook event types
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "List subscribable webhook event types",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Event catalog",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookEvents"
}
}
}
}
}
}
GET /instances/{instanceId}/webhooks
List webhooks
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "List webhooks",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Webhooks (secrets masked)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookList"
}
}
}
}
}
}
POST /instances/{instanceId}/webhooks
Create a webhook
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Create a webhook",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookInput"
}
}
}
},
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Webhook"
}
}
}
},
"400": {
"description": "Invalid url / events / headers"
}
}
}
GET /instances/{instanceId}/webhooks/{webhookId}
Get a webhook
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Get a webhook",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
},
{
"in": "path",
"name": "webhookId",
"required": true,
"schema": {
"type": "string"
},
"description": "Webhook id"
}
],
"responses": {
"200": {
"description": "Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Webhook"
}
}
}
},
"404": {
"description": "Not found"
}
}
}
PATCH /instances/{instanceId}/webhooks/{webhookId}
Update a webhook
Partial update. If `headers` is provided it replaces the set; encrypted values must be re-entered.
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Update a webhook",
"description": "Partial update. If `headers` is provided it replaces the set; encrypted values must be re-entered.",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
},
{
"in": "path",
"name": "webhookId",
"required": true,
"schema": {
"type": "string"
},
"description": "Webhook id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WebhookInput"
}
}
}
},
"responses": {
"200": {
"description": "Updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Webhook"
}
}
}
},
"404": {
"description": "Not found"
}
}
}
DELETE /instances/{instanceId}/webhooks/{webhookId}
Delete a webhook
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Delete a webhook",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
},
{
"in": "path",
"name": "webhookId",
"required": true,
"schema": {
"type": "string"
},
"description": "Webhook id"
}
],
"responses": {
"200": {
"description": "Deleted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponse"
}
}
}
}
}
}
POST /instances/{instanceId}/webhooks/{webhookId}/test
Send a test event to the webhook
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Send a test event to the webhook",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
},
{
"in": "path",
"name": "webhookId",
"required": true,
"schema": {
"type": "string"
},
"description": "Webhook id"
}
],
"responses": {
"200": {
"description": "Delivery outcome",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TestResult"
}
}
}
}
}
}
GET /instances/{instanceId}/webhook-signing
Get signing-secret status
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Get signing-secret status",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Status (never returns the secret)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SigningStatus"
}
}
}
}
}
}
POST /instances/{instanceId}/webhook-signing/rotate
Generate / rotate the instance signing secret
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Generate / rotate the instance signing secret",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "New secret (shown once)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RotateSigningResponse"
}
}
}
}
}
}
POST /instances/{instanceId}/seed
Replace instance data with fresh sample data
Replaces native sample data and may reset painted storage. This does not populate every painted API: for example, it clears Linear issues. Seed native apps before creating painted fixtures, then use the selected paint's supported create operations. Optionally pass `localeConfig` to re-localize the instance in the same step — it is persisted on the instance before seeding. Omitted, the instance's stored localeConfig (or the all-countries default) applies.
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Replace instance data with fresh sample data",
"description": "Replaces native sample data and may reset painted storage. This does not populate every painted API: for example, it clears Linear issues. Seed native apps before creating painted fixtures, then use the selected paint's supported create operations. Optionally pass `localeConfig` to re-localize the instance in the same step — it is persisted on the instance before seeding. Omitted, the instance's stored localeConfig (or the all-countries default) applies.",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"localeConfig": {
"$ref": "#/components/schemas/LocaleConfig"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Seeded"
},
"400": {
"description": "Invalid localeConfig"
}
}
}
GET /instances/{instanceId}/export
Export all instance data as JSON
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Export all instance data as JSON",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Export",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"collections": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
}
}
}
}
}
}
POST /instances/{instanceId}/import
Additively import data
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Additively import data",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"collections": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Imported",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"imported": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
}
}
}
}
}
}
}
}
POST /instances/{instanceId}/reset
Clear all instance data
Authentication
[
{
"patAuth": []
}
]
Request, responses and operation details
{
"summary": "Clear all instance data",
"parameters": [
{
"$ref": "#/components/parameters/InstanceId"
},
{
"$ref": "#/components/parameters/InstanceIdPath"
}
],
"responses": {
"200": {
"description": "Reset",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"deleted": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
}
}
}
}
}
}
}
}