solarOS Organization API

Organization API

Add a Link/URL file to a Property

Creates a text/uri-list media asset and Property association, or returns the existing live association for the same normalized URL. Requires active Property access, properties:write, and Idempotency-Key. URLs are stored without fetching their contents.

/api/v1/properties/{id}/media/links

Creates a text/uri-list media asset and Property association, or returns the existing live association for the same normalized URL. Requires active Property access, properties:write, and Idempotency-Key. URLs are stored without fetching their contents.

Add a Link/URL file to a Property. Use an organization API key with properties:write. Check the response envelope and meta.requestId before triggering dependent workflow steps.

Required scopes

properties:writeIdempotency-Key required

Parameters

NameInTypeDescription
idrequiredpathstringProperty identifier returned by the Organization API.

Request body

objectrequired
FieldTypeDescription
urlrequiredstringHTTP(S) URL without credentials. Trimmed and normalized before deduplication.
filenamerequiredstringDisplay name without slashes or control characters.
createpropertymedialinkRequest
{
  "url": "https://drive.google.com/drive/folders/installation-folder",
  "filename": "Installation Drive Folder: P-19552"
}

Responses

200

Existing Property media link envelope

#/components/schemas/OrgApiResourceEnvelope

201

Created Property media link envelope

#/components/schemas/OrgApiResourceEnvelope

400

Invalid URL, filename, or missing idempotency key

#/components/schemas/OrgApiError

401

Missing or invalid organization API key

#/components/schemas/OrgApiError

402

Organization billing access or an endpoint-specific business quota denied the request

#/components/schemas/OrgApiError

403

Missing required scope: properties:write

#/components/schemas/OrgApiError

404

Property not found or inaccessible

#/components/schemas/OrgApiError

409

Idempotency conflict or URL already stored as a file

#/components/schemas/OrgApiError

429

Rate limit exceeded

#/components/schemas/OrgApiError

Errors

400 Invalid URL, filename, or missing idempotency key401 Missing or invalid organization API key402 Organization billing access or an endpoint-specific business quota denied the request403 Missing required scope: properties:write404 Property not found or inaccessible409 Idempotency conflict or URL already stored as a file429 Rate limit exceeded

Static examples

curl -X POST "$SOLAROS_BASE_URL/api/v1/properties/$SOLAROS_PROPERTY/media/links" \
  -H "Authorization: Bearer $SOLAROS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $SOLAROS_IDEMPOTENCY_KEY" \
  --data '{"url":"https://drive.google.com/drive/folders/installation-folder","filename":"Installation Drive Folder: P-19552"}'