Activate pending order

POST /api/v2/me/pending-orders/{id}/actions/activate

Activate a pending order the authenticated account owns.

This browser session must contain a fresh (at most 15 minutes old), one-time BankID authorization issued specifically for this order.

Historical account verification and API keys do not authorize activation.

The verified adult must own the private account or be an authorized representative.

The account must be Swedish, and the order must be pending, client-triggered, and contain eligible products: hosting or VPS below 3,000, or domains only below 200.

Otherwise, pay its invoice instead.

No request body is required.

On success the response is { id, status: "activated", invoiceId }.

When activation is already underway the response is { id, status: "activating", invoiceId, skipped: true, reason }; poll GET /api/v2/me/pending-orders until the order leaves the pending snapshot.

Account & Access Account

Authentication

Required API scope: write:orders

Authenticate with an API key in the Authorization: Bearer <token> header.

Context

Path Parameters

id string required Example: id_01hxa3b4c5d6e7f8g9h0j1k2m3

Public resource ID for id.

Headers

Authorization Bearer <token>
Accept application/json

Responses

200 Activation completed (status: "activated") or already underway (status: "activating").
id string required · Example: ord_01hxa3b4c5d6e7f8g9h0j1k2m3

Public order ID.

status string · enum required

activated is terminal; activating means activation is already in flight.

activated
activating
invoiceId string · nullable required · Example: inv_01hxa3b4c5d6e7f8g9h0j1k2m3

Public invoice ID of the linked invoice, or null.

skipped boolean

Present only with status: "activating". Always true there: this request did not start a new activation.

reason string · enum

Present only with status: "activating". Why this request was skipped.

activation_in_progress
free_order_grace
400 Invalid request. The response body is an RFC 7807 Problem Details document.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on detail.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when code is invalid_request.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
401 Unauthorized. Authentication is required.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on detail.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when code is invalid_request.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
403 Forbidden. bankid_session_required when the caller is not an interactive browser session, bankid_activation_not_authorized when the fresh one-time proof is missing, expired, already used, for another account/order, underage, or not owned by an authorized identity; not_available_in_country when the account is not registered in Sweden; or forbidden when the session may not place orders for this account.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on detail.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when code is invalid_request.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
404 The order does not exist or does not belong to the authenticated account.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on detail.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when code is invalid_request.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
409 Conflict. not_pending when the order is no longer in a pending state, or activation_blocked when the order cannot be activated with BankID — open the invoice and pay it instead.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on detail.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when code is invalid_request.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
429 Rate limited. Retry after the limit resets. 429 responses include Retry-After seconds plus X-RateLimit-* headers.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on detail.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when code is invalid_request.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
500 Internal error. Retry later or contact support if the issue persists.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on detail.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when code is invalid_request.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
POST https://cloud.hostup.se/api/v2/me/pending-orders/{id}/actions/activate
For AI assistants
View as Markdown
cURL
curl -X POST "https://cloud.hostup.se/api/v2/me/pending-orders/id_01hxa3b4c5d6e7f8g9h0j1k2m3/actions/activate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response
// Activation completed
{
  "id": "ord_01hxa3b4c5d6e7f8g9h0j1k2m3",
  "status": "activated",
  "invoiceId": "inv_01hxa3b4c5d6e7f8g9h0j1k2m3"
}

// Activation already underway
{
  "id": "ord_01hxa3b4c5d6e7f8g9h0j1k2m3",
  "status": "activating",
  "invoiceId": "inv_01hxa3b4c5d6e7f8g9h0j1k2m3",
  "skipped": true,
  "reason": "activation_in_progress"
}