{"openapi":"3.1.0","info":{"title":"Apizie","version":"2.0.0","description":"One API key, one envelope, many public data sources."},"servers":[{"url":"https://www.apizie.tech"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/open-data:googleapis-mirror/mirror-accounts-insert":{"post":{"operationId":"open_data_googleapis_mirror_mirror_accounts_insert","summary":"Inserts a new account for a user","description":"POST /accounts/{userToken}/{accountType}/{accountName}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["accountName","accountType","userToken","body"],"properties":{"accountName":{"type":"string","description":"The name of the account to be passed to the Android Account Manager."},"accountType":{"type":"string","description":"Account type to be passed to Android Account Manager."},"userToken":{"type":"string","description":"The ID for the user."},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-contacts-get":{"get":{"operationId":"open_data_googleapis_mirror_mirror_contacts_get","summary":"Gets a single contact by ID.","description":"GET /contacts/{id}","tags":["open-data"],"parameters":[{"name":"id","in":"query","required":true,"description":"The ID of the contact.","schema":{"type":"string","description":"The ID of the contact."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-contacts-update":{"post":{"operationId":"open_data_googleapis_mirror_mirror_contacts_update","summary":"Updates a contact in place.","description":"PUT /contacts/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","body"],"properties":{"id":{"type":"string","description":"The ID of the contact."},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-contacts-patch":{"post":{"operationId":"open_data_googleapis_mirror_mirror_contacts_patch","summary":"Updates a contact in place. This method supports patch semantics.","description":"PATCH /contacts/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","body"],"properties":{"id":{"type":"string","description":"The ID of the contact."},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-contacts-delete":{"post":{"operationId":"open_data_googleapis_mirror_mirror_contacts_delete","summary":"Deletes a contact.","description":"DELETE /contacts/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the contact."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-contacts-list":{"get":{"operationId":"open_data_googleapis_mirror_mirror_contacts_list","summary":"Retrieves a list of contacts for the authenticated user.","description":"GET /contacts","tags":["open-data"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-contacts-insert":{"post":{"operationId":"open_data_googleapis_mirror_mirror_contacts_insert","summary":"Inserts a new contact.","description":"POST /contacts","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["body"],"properties":{"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-locations-get":{"get":{"operationId":"open_data_googleapis_mirror_mirror_locations_get","summary":"Gets a single location by ID.","description":"GET /locations/{id}","tags":["open-data"],"parameters":[{"name":"id","in":"query","required":true,"description":"The ID of the location or latest for the last known location.","schema":{"type":"string","description":"The ID of the location or latest for the last known location."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-locations-list":{"get":{"operationId":"open_data_googleapis_mirror_mirror_locations_list","summary":"Retrieves a list of locations for the user.","description":"GET /locations","tags":["open-data"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-settings-get":{"get":{"operationId":"open_data_googleapis_mirror_mirror_settings_get","summary":"Gets a single setting by ID.","description":"GET /settings/{id}","tags":["open-data"],"parameters":[{"name":"id","in":"query","required":true,"description":"The ID of the setting. The following IDs are valid: - locale - The key to the user’s language/locale (BCP 47 identifier) that Glassware…","schema":{"type":"string","description":"The ID of the setting. The following IDs are valid: - locale - The key to the user’s language/locale (BCP 47 identifier) that Glassware…"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-subscriptions-update":{"post":{"operationId":"open_data_googleapis_mirror_mirror_subscriptions_update","summary":"Updates an existing subscription in place.","description":"PUT /subscriptions/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","body"],"properties":{"id":{"type":"string","description":"The ID of the subscription."},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-subscriptions-delete":{"post":{"operationId":"open_data_googleapis_mirror_mirror_subscriptions_delete","summary":"Deletes a subscription.","description":"DELETE /subscriptions/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the subscription."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-subscriptions-list":{"get":{"operationId":"open_data_googleapis_mirror_mirror_subscriptions_list","summary":"Retrieves a list of subscriptions for the authenticated user and service.","description":"GET /subscriptions","tags":["open-data"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-subscriptions-insert":{"post":{"operationId":"open_data_googleapis_mirror_mirror_subscriptions_insert","summary":"Creates a new subscription.","description":"POST /subscriptions","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["body"],"properties":{"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-get":{"get":{"operationId":"open_data_googleapis_mirror_mirror_timeline_get","summary":"Gets a single timeline item by ID.","description":"GET /timeline/{id}","tags":["open-data"],"parameters":[{"name":"id","in":"query","required":true,"description":"The ID of the timeline item.","schema":{"type":"string","description":"The ID of the timeline item."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-update":{"post":{"operationId":"open_data_googleapis_mirror_mirror_timeline_update","summary":"Updates a timeline item in place.","description":"PUT /timeline/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","body"],"properties":{"id":{"type":"string","description":"The ID of the timeline item."},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-patch":{"post":{"operationId":"open_data_googleapis_mirror_mirror_timeline_patch","summary":"Updates a timeline item in place. This method supports patch semantics.","description":"PATCH /timeline/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","body"],"properties":{"id":{"type":"string","description":"The ID of the timeline item."},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-delete":{"post":{"operationId":"open_data_googleapis_mirror_mirror_timeline_delete","summary":"Deletes a timeline item.","description":"DELETE /timeline/{id}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the timeline item."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-list":{"get":{"operationId":"open_data_googleapis_mirror_mirror_timeline_list","summary":"Retrieves a list of timeline items for the authenticated user.","description":"GET /timeline","tags":["open-data"],"parameters":[{"name":"bundleId","in":"query","required":false,"description":"If provided, only items with the given bundleId will be returned.","schema":{"type":"string","description":"If provided, only items with the given bundleId will be returned."}},{"name":"includeDeleted","in":"query","required":false,"description":"If true, tombstone records for deleted items will be returned.","schema":{"type":"boolean","description":"If true, tombstone records for deleted items will be returned."}},{"name":"maxResults","in":"query","required":false,"description":"The maximum number of items to include in the response, used for paging.","schema":{"type":"integer","description":"The maximum number of items to include in the response, used for paging."}},{"name":"orderBy","in":"query","required":false,"description":"Controls the order in which timeline items are returned.","schema":{"type":"string","enum":["displayTime","writeTime"],"description":"Controls the order in which timeline items are returned."}},{"name":"pageToken","in":"query","required":false,"description":"Token for the page of results to return.","schema":{"type":"string","description":"Token for the page of results to return."}},{"name":"pinnedOnly","in":"query","required":false,"description":"If true, only pinned items will be returned.","schema":{"type":"boolean","description":"If true, only pinned items will be returned."}},{"name":"sourceItemId","in":"query","required":false,"description":"If provided, only items with the given sourceItemId will be returned.","schema":{"type":"string","description":"If provided, only items with the given sourceItemId will be returned."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-insert":{"post":{"operationId":"open_data_googleapis_mirror_mirror_timeline_insert","summary":"Inserts a new item into the timeline.","description":"POST /timeline","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["body"],"properties":{"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-attachments-get":{"get":{"operationId":"open_data_googleapis_mirror_mirror_timeline_attachments_get","summary":"Retrieves an attachment on a timeline item by item ID and attachment ID.","description":"GET /timeline/{itemId}/attachments/{attachmentId}","tags":["open-data"],"parameters":[{"name":"attachmentId","in":"query","required":true,"description":"The ID of the attachment.","schema":{"type":"string","description":"The ID of the attachment."}},{"name":"itemId","in":"query","required":true,"description":"The ID of the timeline item the attachment belongs to.","schema":{"type":"string","description":"The ID of the timeline item the attachment belongs to."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-attachments-delete":{"post":{"operationId":"open_data_googleapis_mirror_mirror_timeline_attachments_delete","summary":"Deletes an attachment from a timeline item.","description":"DELETE /timeline/{itemId}/attachments/{attachmentId}","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["attachmentId","itemId"],"properties":{"attachmentId":{"type":"string","description":"The ID of the attachment."},"itemId":{"type":"string","description":"The ID of the timeline item the attachment belongs to."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-attachments-list":{"get":{"operationId":"open_data_googleapis_mirror_mirror_timeline_attachments_list","summary":"Returns a list of attachments for a timeline item.","description":"GET /timeline/{itemId}/attachments","tags":["open-data"],"parameters":[{"name":"itemId","in":"query","required":true,"description":"The ID of the timeline item whose attachments should be listed.","schema":{"type":"string","description":"The ID of the timeline item whose attachments should be listed."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/open-data:googleapis-mirror/mirror-timeline-attachments-insert":{"post":{"operationId":"open_data_googleapis_mirror_mirror_timeline_attachments_insert","summary":"Adds a new attachment to a timeline item.","description":"POST /timeline/{itemId}/attachments","tags":["open-data"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["itemId"],"properties":{"itemId":{"type":"string","description":"The ID of the timeline item the attachment belongs to."}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"RunEnvelope":{"type":"object","required":["project","data","timestamp"],"properties":{"project":{"type":"string","example":"dev-tools:hash"},"data":{},"timestamp":{"type":"string","format":"date-time"}}},"ErrorEnvelope":{"type":"object","properties":{"content":{},"message":{"type":"string"},"errors":{"type":"array","items":{}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"responses":{"Error":{"description":"Invalid key, plan gate, rate limit or upstream failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}