openapi: 3.1.0 info: title: Apple CloudKit Web Services Assets Users API description: 'Best-effort OpenAPI 3.1 description of Apple CloudKit Web Services, the REST surface that lets non-Apple-platform clients read and write data in a CloudKit container''s public, private, or shared database. Operations cover records, zones, subscriptions, assets, users, and database/zone changes. Authentication uses either a CloudKit API token (for end-user authenticated requests; the token is appended as the `ckAPIToken` query parameter) or a server-to-server ECDSA signature (X-Apple-CloudKit-Request-* headers) for backend access. ' version: '1.0' contact: name: Apple CloudKit url: https://developer.apple.com/library/archive/documentation/DataManagement/Conceptual/CloudKitWebServicesReference/index.html servers: - url: https://api.apple-cloudkit.com/database/1/{container}/{environment}/{database} description: CloudKit Web Services database endpoint variables: container: default: iCloud.com.example.myapp description: CloudKit container identifier environment: default: development enum: - development - production database: default: public enum: - public - private - shared security: - cloudKitApiToken: [] - serverToServer: [] tags: - name: Users paths: /users/caller: post: summary: Fetch the caller's user identity operationId: callerUser tags: - Users responses: '200': description: Caller identity /users/discover: post: summary: Discover users by email or phone operationId: discoverUsers tags: - Users responses: '200': description: Users discovered /users/lookup/email: post: summary: Look up users by email operationId: lookupUsersByEmail tags: - Users responses: '200': description: Users /users/lookup/id: post: summary: Look up users by record name operationId: lookupUsersById tags: - Users responses: '200': description: Users components: securitySchemes: cloudKitApiToken: type: apiKey in: query name: ckAPIToken description: 'CloudKit API token issued from the CloudKit dashboard, appended to the request URL as `ckAPIToken`. Required for end-user authenticated access via web auth tokens. ' serverToServer: type: apiKey in: header name: X-Apple-CloudKit-Request-SignatureV1 description: 'Server-to-server authentication uses ECDSA-signed requests with `X-Apple-CloudKit-Request-KeyID`, `X-Apple-CloudKit-Request-ISO8601Date`, and `X-Apple-CloudKit-Request-SignatureV1` headers. '