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
| Parameter | Location | Type and requirement |
|---|---|---|
id | path | string · required |
Origin | header | string · required An origin allowed by this deployment. |
X-CSRF-Token | header | string · 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 --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
{
"status": "example",
"articleId": "1",
"accessTier": "free",
"isUnlocked": false,
"unlockCost": null,
"lockedReason": null
}View response model
Variant 1: object
status required · stringarticleId required · stringaccessTier required · "free"isUnlocked required · booleanunlockCost required · nulllockedReason required · nullAdditional fields: JSON values.
Variant 2: object
status required · stringarticleId required · stringaccessTier required · "premium"isUnlocked required · booleanunlockCost required · nulllockedReason required · nullentitlement required · objectView entitlement model
key required · stringscope required · stringexpiresAt required · null | stringView expiresAt model
Variant 1: null
null
Variant 2: string
string
createdAt required · stringAdditional fields: JSON values.
Additional fields: JSON values.
Variant 3: object
status required · stringarticleId required · stringaccessTier required · "premium"isUnlocked required · booleanunlockCost required · nulllockedReason required · nullbalance required · numberwallets required · objectView wallets model
earned required · numberpromo required · numberpurchased required · numbertotal required · numberAdditional fields: JSON values.
entitlement required · null | objectView entitlement model
Variant 1: null
null
Variant 2: object
key required · stringscope required · stringexpiresAt required · null | stringView expiresAt model
Variant 1: null
null
Variant 2: string
string
createdAt required · stringAdditional fields: JSON values.
Additional fields: JSON values.
400 · Invalid request.
application/json
{
"error": "example"
}View response model
error required · stringAdditional fields: JSON values.
401 · Authentication is missing or invalid.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
402 · Credits or entitlement required.
application/json
{
"error": "example",
"missing": 1,
"balance": 1,
"wallets": {
"earned": 1,
"promo": 1,
"purchased": 1,
"total": 1
},
"unlockCost": 15
}View response model
error required · stringmissing required · numberbalance required · numberwallets required · objectView wallets model
earned required · numberpromo required · numberpurchased required · numbertotal required · numberAdditional fields: JSON values.
unlockCost required · 15Additional fields: JSON values.
403 · Permission, origin or CSRF check failed.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
404 · Resource or enabled capability not found.
application/json
{
"error": "example"
}View response model
error required · stringAdditional fields: JSON values.
429 · Rate limit reached; honor Retry-After when supplied.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
500 · Server failure.
application/json
{
"error": "example"
}View response model
Variant 1: object
error required · stringAdditional fields: JSON values.