Skip to documentation
Weavers Docs

Pages and endpoints

Tab to navigate · Enter to openEsc to close

POST /api/articles/:id/unlock

Account required · HTTP API reference

All endpoints · Authentication and retries · Download OpenAPI

  • Requires a signed-in account and permission to access this resource. Use identifiers returned by your own account's earlier requests.
  • Protected writes require an allowed Origin, the CSRF cookie and matching X-CSRF-Token header.

Request

ParameterLocationType and requirement
idpathstring · required
Originheaderstring · required

An origin allowed by this deployment.

X-CSRF-Tokenheaderstring · required

Must match the CSRF cookie issued to this browser.

No request body.

Example

Examples use fictional data. Replace identifiers with resources you can access. For account requests, cookies.txt must contain your own session; set CSRF_TOKEN to the matching CSRF cookie value where required.

cURL (POSIX shell)
curl --include \
  --request POST \
  'https://api.weavers.app/api/articles/1/unlock' \
  --cookie cookies.txt --cookie-jar cookies.txt \
  --header 'Origin: https://weavers.app' \
  --header "X-CSRF-Token: ${CSRF_TOKEN}"

Responses

200 · Successful response.

application/json

200 example · synthetic data
{
  "status": "example",
  "articleId": "1",
  "accessTier": "free",
  "isUnlocked": false,
  "unlockCost": null,
  "lockedReason": null
}
View response model
Variant 1: object
status required · string
articleId required · string
accessTier required · "free"
isUnlocked required · boolean
unlockCost required · null
lockedReason required · null

Additional fields: JSON values.

Variant 2: object
status required · string
articleId required · string
accessTier required · "premium"
isUnlocked required · boolean
unlockCost required · null
lockedReason required · null
entitlement required · object
View entitlement model
key required · string
scope required · string
expiresAt required · null | string
View expiresAt model
Variant 1: null

null

Variant 2: string

string

createdAt required · string

Additional fields: JSON values.

Additional fields: JSON values.

Variant 3: object
status required · string
articleId required · string
accessTier required · "premium"
isUnlocked required · boolean
unlockCost required · null
lockedReason required · null
balance required · number
wallets required · object
View wallets model
earned required · number
promo required · number
purchased required · number
total required · number

Additional fields: JSON values.

entitlement required · null | object
View entitlement model
Variant 1: null

null

Variant 2: object
key required · string
scope required · string
expiresAt required · null | string
View expiresAt model
Variant 1: null

null

Variant 2: string

string

createdAt required · string

Additional fields: JSON values.

Additional fields: JSON values.

400 · Invalid request.

application/json

400 example · synthetic data
{
  "error": "example"
}
View response model
error required · string

Additional fields: JSON values.

401 · Authentication is missing or invalid.

application/json

401 example · synthetic data
{}
View response model

Error envelopes can include resource-specific details. Check the status before reading these fields.

error optional · string
code optional · string
message optional · string

Additional fields: JSON values.

402 · Credits or entitlement required.

application/json

402 example · synthetic data
{
  "error": "example",
  "missing": 1,
  "balance": 1,
  "wallets": {
    "earned": 1,
    "promo": 1,
    "purchased": 1,
    "total": 1
  },
  "unlockCost": 15
}
View response model
error required · string
missing required · number
balance required · number
wallets required · object
View wallets model
earned required · number
promo required · number
purchased required · number
total required · number

Additional fields: JSON values.

unlockCost required · 15

Additional fields: JSON values.

403 · Permission, origin or CSRF check failed.

application/json

403 example · synthetic data
{}
View response model

Error envelopes can include resource-specific details. Check the status before reading these fields.

error optional · string
code optional · string
message optional · string

Additional fields: JSON values.

404 · Resource or enabled capability not found.

application/json

404 example · synthetic data
{
  "error": "example"
}
View response model
error required · string

Additional fields: JSON values.

429 · Rate limit reached; honor Retry-After when supplied.

application/json

429 example · synthetic data
{}
View response model

Error envelopes can include resource-specific details. Check the status before reading these fields.

error optional · string
code optional · string
message optional · string

Additional fields: JSON values.

500 · Server failure.

application/json

500 example · synthetic data
{
  "error": "example"
}
View response model
Variant 1: object
error required · string

Additional fields: JSON values.