Skip to content
Docs
Esc
↑↓navigate↵open⌘Jpreview

Update a share link

Updates supplied link fields when expectedRevision is current. A stale revision returns 409 with the current link; nested constraint fields patch independently and null clears one field. Changing capabilities or target to a commenting link the comments surface never shows returns 422 comments_target_unavailable.

PATCH/v1/spaces/{spaceId}/share-links/{linkId}
Authorization
AuthorizationBearer token · headerrequired

Space key (sfc_…) for an unclaimed anonymous Space. Also the fragment of its claim URL and the token of its /__/<key> door. A publish without a credential returns it in claim with the claim link. With the key, getSpace extends the Space's expiry window, getSpaceVersion follows its publish, createSpaceOpenLink returns its reusable open link, and restoreSpace undoes a deleteSpace while the claim window remains open.

or
AuthorizationBearer token · headerrequired

Better Auth session, OAuth access token, OAuth client-credentials token, or sfm_ Space machine credential.

Path parameters
spaceIdstringrequired
linkIdstringrequired
Request body
requiredapplication/json
expectedRevisionintegerrequired
max 9007199254740991
namestring
min length 1 · max length 200
landingPathstring
min length 1 · max length 1024
resourcesobject
Show properties
includestring[]required
min items 1 · max items 100
excludestring[]
max items 100 · default: []
capabilitiesstring[]
min items 1
constraintsobject
Show properties
notBeforestring<date-time> | string | null
Show properties
Any of:
string<date-time> | string
Any of:
string<date-time>
string<date-time>
string
string
null
null
expiresAtstring<date-time> | string | null
Show properties
Any of:
string<date-time> | string
Any of:
string<date-time>
string<date-time>
string
string
null
null
maxUsesinteger | null
Show properties
Any of:
integer
integer
null
null
requireVerifiedEmailboolean | null
frameOriginstring | null
Show properties
Any of:
string
string
null
null
networkobject | null
Show properties
Any of:
object
ipCidrsstring[] | null
Show properties
Any of:
string[]
Array of string
string
null
null
countriesstring[] | null
Show properties
Any of:
string[]
Array of string
string
null
null
excludedCountriesstring[] | null
Show properties
Any of:
string[]
Array of string
string
null
null
excludedUserAgentSubstringsstring[] | null
Show properties
Any of:
string[]
Array of string
string
null
null
null
null
targetobject
Show properties
One of:
object
kindstringrequired
object
kindstringrequired
versionIdstringrequired
min length 1 · max length 255
object
kindstringrequired
branchstringrequired
min length 1 · max length 255
object
kindstringrequired
Responses
200

Response for status 200

$schemastring<uri>

Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.

dataobjectrequired
Show properties
idstringrequired
min length 1
spaceIdstringrequired
min length 1
grantIdstringrequired
min length 1
revisionintegerrequired
max 9007199254740991
namestringrequired
min length 1
landingPathstringrequired
min length 1 · max length 1024
resourcesobjectrequired
Show properties
includestring[]required
min items 1 · max items 100
excludestring[]required
max items 100 · default: []
capabilitiesstring[]required
min items 1
constraintsobjectrequired
Show properties
notBeforestring<date-time> | string
Show properties
Any of:
string<date-time>
string<date-time>
string
string
expiresAtstring<date-time> | string
Show properties
Any of:
string<date-time>
string<date-time>
string
string
maxUsesinteger
max 1000000
requireVerifiedEmailboolean
networkobject
Show properties
ipCidrsstring[]

IP address and CIDR Grants are unsupported because the serving runtime has no trusted visitor IP. Remove the IP constraint.

min items 1 · max items 50
countriesstring[]
min items 1 · max items 250
excludedCountriesstring[]
min items 1 · max items 250
excludedUserAgentSubstringsstring[]
min items 1 · max items 50
frameOriginstring
min length 1 · max length 2048
targetobjectrequired
Show properties
One of:
object
kindstringrequired
object
kindstringrequired
versionIdstringrequired
min length 1 · max length 255
object
kindstringrequired
branchstringrequired
min length 1 · max length 255
object
kindstringrequired
createdBystring | nullrequired
openCountintegerrequired
min 0 · max 9007199254740991
lastUsedAtstring<date-time> | nullrequired
Show properties
Any of:
string<date-time>
string<date-time>
null
null
revokedAtstring<date-time> | nullrequired
Show properties
Any of:
string<date-time>
string<date-time>
null
null
createdAtstring<date-time>required
matches ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
activebooleanrequired
default

Problem details (RFC 9457). Any 4xx/5xx response is one application/problem+json document.

$schemastring<uri>

Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.

typestringrequired

Problem type URI resolving to the error docs page. The server derives it mechanically from code against the docs origin.

titlestringrequired

Short human-readable summary of the problem type. The server derives it mechanically from code.

statusintegerrequired

HTTP status code of this response, repeated in the body.

min -9007199254740991 · max 9007199254740991
detailstringrequired

Human-readable failure explanation for this occurrence.

codestringrequired

Stable snake_case error code naming the failed public contract.

pointerstring

RFC 6901 JSON Pointer into the failing request field, for example "/files/37/path", on validation failures.

detailsobject

Machine-readable context for the error code.

fixstring

One sentence on what to do about this error code, the same text as the type page. Read it before retrying.

suggestionsstring[]

Actionable recovery steps safe to show in dashboards, SDKs, and CLI output.

nextstring[]

Copy-pasteable commands or API requests an agent can run next.

requestIdstringrequired

The request id to quote when contacting support.

Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X PATCH 'https://api.spacefast.com/v1/spaces/string/share-links/string' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "expectedRevision": 1,
  "name": "string",
  "landingPath": "string",
  "resources": {
    "include": [
      "string"
    ],
    "exclude": []
  },
  "capabilities": [
    "page.view"
  ],
  "constraints": {
    "notBefore": "2019-08-24T14:15:22Z",
    "expiresAt": "2019-08-24T14:15:22Z",
    "maxUses": 1,
    "requireVerifiedEmail": true,
    "frameOrigin": "string",
    "network": {
      "ipCidrs": [
        "string"
      ],
      "countries": [
        "st"
      ],
      "excludedCountries": [
        "st"
      ],
      "excludedUserAgentSubstrings": [
        "string"
      ]
    }
  },
  "target": {
    "kind": "live"
  }
}'
Response
{
  "$schema": "http://example.com",
  "data": {
    "id": "string",
    "spaceId": "string",
    "grantId": "string",
    "revision": 1,
    "name": "string",
    "landingPath": "string",
    "resources": {
      "include": [
        "string"
      ],
      "exclude": []
    },
    "capabilities": [
      "page.view"
    ],
    "constraints": {
      "notBefore": "2019-08-24T14:15:22Z",
      "expiresAt": "2019-08-24T14:15:22Z",
      "maxUses": 1,
      "requireVerifiedEmail": true,
      "network": {
        "ipCidrs": [
          "string"
        ],
        "countries": [
          "st"
        ],
        "excludedCountries": [
          "st"
        ],
        "excludedUserAgentSubstrings": [
          "string"
        ]
      },
      "frameOrigin": "string"
    },
    "target": {
      "kind": "live"
    },
    "createdBy": "string",
    "openCount": 0,
    "lastUsedAt": "2019-08-24T14:15:22Z",
    "revokedAt": "2019-08-24T14:15:22Z",
    "createdAt": "2019-08-24T14:15:22Z",
    "active": true
  }
}

Was this page helpful?