URSY.DEVPART OF THE URSY NETWORKSign inBuild with URSY

Every contract sourcedEvery check datedGaps shown, never filledBuild with URSY

Capabilities

create_share_plan

Propose one expiring share for the exact file version. Owner approval is always required.

How this capability is exposed

Stable ID
ursy.cloud:create_share_plan
Owning service
URSY.cloud
Runtime
See the source declaration

Capability declarations describe what the service exposes. They are not a guarantee of availability or permission to execute an operation.

Accepted contract

REGISTRY JSON
{
    "id": "ursy.cloud:create_share_plan",
    "name": "create_share_plan",
    "description": "Propose one expiring share for the exact file version. Owner approval is always required.",
    "method": "POST",
    "path": "/v1/files/{file_id}/share-plans",
    "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "file_id": {
                "type": "string",
                "pattern": "^file_[1-9][0-9]{0,14}$"
            },
            "if_match": {
                "type": "string",
                "pattern": "^\"[0-9a-f]{64}\"$"
            },
            "mode": {
                "type": "string",
                "enum": [
                    "specific_person",
                    "link_view",
                    "link_comment",
                    "link_edit",
                    "public_view"
                ]
            },
            "recipient_sub": {
                "type": "string",
                "maxLength": 128,
                "x-ursy-maxBytes": 128
            },
            "expires_in": {
                "type": "integer",
                "minimum": 300,
                "maximum": 2592000
            },
            "idempotency_key": {
                "type": "string",
                "minLength": 8,
                "maxLength": 128,
                "pattern": "^[A-Za-z0-9._:-]+$"
            }
        },
        "required": [
            "file_id",
            "if_match",
            "mode",
            "expires_in",
            "idempotency_key"
        ]
    },
    "outputSchema": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
            "plan": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "file_id": {
                        "type": "string",
                        "pattern": "^file_[1-9][0-9]{0,14}$"
                    },
                    "mode": {
                        "type": "string"
                    },
                    "base_etag": {
                        "type": "string"
                    },
                    "expires_at": {
                        "type": "string"
                    },
                    "share_expires_at": {
                        "type": "string"
                    },
                    "requires_confirmation": {
                        "const": true
                    },
                    "approval_url": {
                        "type": "string"
                    },
                    "applied_share_id": {
                        "oneOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "file_id",
                    "mode",
                    "base_etag",
                    "expires_at",
                    "share_expires_at",
                    "requires_confirmation",
                    "approval_url",
                    "applied_share_id"
                ]
            }
        },
        "required": [
            "plan"
        ]
    },
    "auth_required": true,
    "scope": "cloud.share.plan",
    "read_only": false,
    "service_id": "ursy-cloud",
    "parent_id": "",
    "summary": "Propose one expiring share for the exact file version. Owner approval is always required.",
    "source_url": "https://api.ursy.cloud/v1/registry-capabilities",
    "source_type": "capability_manifest",
    "verified_at": "2026-10-15 07:03:21",
    "revision": "32b00902a1b39b25fd09bed55dd07ab3a185331b33cf27a5b01607f7f5643d70",
    "type": "capabilities",
    "source": {
        "url": "https://api.ursy.cloud/v1/registry-capabilities",
        "type": "capability_manifest"
    },
    "last_verified_at": "2026-10-15 07:03:21",
    "stale": false
}