Методы API
DEVELOPER PLATFORM · v1

API, с которым удобно работать

CRM, кампании, аналитика и интеграции. Точные контракты, понятные примеры и подписанные вебхуки.

Скачать OpenAPI

Private preview: API доступен с проектным ключом. Публичные SLA и сроки поддержки ещё не установлены.

POST

Отключить интеграцию

/api/v1/developer/integrations/{installationId}/disconnect

Paid installation требует точные effectiveAt/creditMinor из свежей quote; free/included использует пустое тело. Cleanup и settlement остаются атомарными owner workflows.

Право доступаintegrations.installations.write

Authorization: Bearer YOUR_PROJECT_TOKEN

Параметры

installationIdобязательно · path

stringminLength: 1 · maxLength: 160

JSON Schema
{
  "type": "string",
  "minLength": 1,
  "maxLength": 160
}
idempotency-keyобязательно · header

stringpattern: "^[A-Za-z0-9][A-Za-z0-9._:-]{7,159}$"

JSON Schema
{
  "type": "string",
  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{7,159}$"
}

Тело запроса

application/json

object

quote
object
Вложенная схема

object

effectiveAtобязательно
stringformat: "date-time"
creditMinorобязательно
integerminimum: 0
JSON Schema
{
  "type": "object",
  "properties": {
    "effectiveAt": {
      "type": "string",
      "format": "date-time"
    },
    "creditMinor": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "effectiveAt",
    "creditMinor"
  ],
  "additionalProperties": false
}
JSON Schema
{
  "type": "object",
  "properties": {
    "quote": {
      "type": "object",
      "properties": {
        "effectiveAt": {
          "type": "string",
          "format": "date-time"
        },
        "creditMinor": {
          "type": "integer",
          "minimum": 0
        }
      },
      "required": [
        "effectiveAt",
        "creditMinor"
      ],
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

Примеры запроса

curl --request POST \
  'https://YOUR_NOVA_HOST/api/v1/developer/integrations/INSTALLATION_ID/disconnect' \
  --header 'Authorization: Bearer YOUR_PROJECT_TOKEN' \
  --header 'Idempotency-Key: integration-command-2026-08-14-001' \
  --header 'Content-Type: application/json' \
  --data '{}'

Ответы

200 Disconnected project Integration
application/json

object

installationобязательно
object
Вложенная схема

object

idобязательно
stringminLength: 1 · maxLength: 160
definitionCodeобязательно
stringminLength: 1 · maxLength: 80
definitionVersionобязательно
integerexclusiveMinimum: 0
displayNameобязательно
stringminLength: 1 · maxLength: 80
statusобязательно
stringenum: ["active","paused","disconnected"]
healthобязательно
stringenum: ["pending","healthy","attention"]
configVersionобязательно
integerexclusiveMinimum: 0
createdAtобязательно
stringformat: "date-time"
updatedAtобязательно
stringformat: "date-time"
disconnectedAtобязательно
string | nullformat: "date-time"
JSON Schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "definitionCode": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "definitionVersion": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "displayName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "paused",
        "disconnected"
      ]
    },
    "health": {
      "type": "string",
      "enum": [
        "pending",
        "healthy",
        "attention"
      ]
    },
    "configVersion": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "disconnectedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "definitionCode",
    "definitionVersion",
    "displayName",
    "status",
    "health",
    "configVersion",
    "createdAt",
    "updatedAt",
    "disconnectedAt"
  ],
  "additionalProperties": false
}
replayedобязательно
boolean
JSON Schema
{
  "type": "object",
  "properties": {
    "installation": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "definitionCode": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "definitionVersion": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "displayName": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "paused",
            "disconnected"
          ]
        },
        "health": {
          "type": "string",
          "enum": [
            "pending",
            "healthy",
            "attention"
          ]
        },
        "configVersion": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "disconnectedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "definitionCode",
        "definitionVersion",
        "displayName",
        "status",
        "health",
        "configVersion",
        "createdAt",
        "updatedAt",
        "disconnectedAt"
      ],
      "additionalProperties": false
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "installation",
    "replayed"
  ],
  "additionalProperties": false,
  "$ref": "#/components/schemas/DeveloperIntegrationMutationResponse"
}
400 Invalid installation discovery request
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
401 Invalid developer credential
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
402 Project wallet balance is insufficient
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
403 Integration discovery access unavailable
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
404 Integration installation or definition not found
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
409 Idempotency, quote, commercial or Integration state conflict
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
429 Developer API rate limit exceeded
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
503 Developer API rate limiter unavailable
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}