Capability Spec
# Naftiko capabilities profile for Apple CloudKit Web Services.
# Maps verbs against the CloudKit Web Services REST surface for
# records, zones, subscriptions, assets, and users.
provider: cloudkit
name: Apple CloudKit Web Services
description: >-
Capabilities cover record lookup/query/modify/delete in public, private,
and shared databases, zone management, subscription management, asset
upload, user info, and database change tracking. Authentication is via
API token (with optional ckWebAuthToken for user-authenticated access)
or server-to-server ECDSA key.
capabilities:
- id: cloudkit.records.lookup
name: Lookup records
description: Fetch one or more records by record name from a database.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- record_names
outputs:
- records
- id: cloudkit.records.query
name: Query records
description: Run a typed query (recordType, filterBy, sortBy) against a database.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- zone_id
- record_type
- filter_by
- sort_by
- limit
outputs:
- records
- continuation_marker
- id: cloudkit.records.modify
name: Modify records
description: Create, update, or replace records in a database.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- operations
outputs:
- records
- errors
- id: cloudkit.records.delete
name: Delete records
description: Delete one or more records by record name.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- record_names
outputs:
- records
- id: cloudkit.zones.list
name: List zones
description: Return all zones for a database.
api: cloudkit:web-services
inputs:
- container
- environment
- database
outputs:
- zones
- id: cloudkit.zones.create
name: Create zone
description: Create a custom zone in the private database.
api: cloudkit:web-services
inputs:
- container
- environment
- zone_name
outputs:
- zone
- id: cloudkit.zones.delete
name: Delete zone
description: Delete a custom zone.
api: cloudkit:web-services
inputs:
- container
- environment
- zone_name
outputs:
- zone
- id: cloudkit.subscriptions.list
name: List subscriptions
description: Return subscriptions for the current user in a database.
api: cloudkit:web-services
inputs:
- container
- environment
- database
outputs:
- subscriptions
- id: cloudkit.subscriptions.create
name: Create subscription
description: Create a query, zone, or database subscription.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- subscription_id
- subscription_type
- filter_by
outputs:
- subscription
- id: cloudkit.subscriptions.delete
name: Delete subscription
description: Delete a subscription by id.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- subscription_id
outputs:
- subscription
- id: cloudkit.assets.upload
name: Upload asset
description: Upload binary asset content for a record field.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- record_type
- field_name
- file
outputs:
- asset
- id: cloudkit.users.current
name: Get current user
description: Return the user record name and identity for the calling token.
api: cloudkit:web-services
inputs:
- container
- environment
outputs:
- user
- id: cloudkit.users.lookup
name: Lookup users
description: Look up user records by user record name, email, or phone.
api: cloudkit:web-services
inputs:
- container
- environment
- users
outputs:
- users
- id: cloudkit.changes.zone
name: Fetch zone changes
description: Pull incremental changes to records within a zone since a sync token.
api: cloudkit:web-services
inputs:
- container
- environment
- database
- zone_id
- sync_token
outputs:
- records
- sync_token
- more_coming