{ "opencollection": "1.0.0", "info": { "name": "Identity Service Ably Activities API", "version": "1" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "Activities", "type": "folder" }, "items": [ { "info": { "name": "Creates a tracked Activity with customerId and userId returns the new Activity", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/track-from-service", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a tracked Activity with customerId and userId returns the new Activity" }, { "info": { "name": "Updates an already-tracked Activity located by (customerId, externalId), for service backfill", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/update-from-service", "body": { "type": "json", "data": "{}" } }, "docs": "Updates an already-tracked Activity located by (customerId, externalId), for service backfill" }, { "info": { "name": "Creates a tracked Activity for a given user", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/track-from-agent", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a tracked Activity for a given user" }, { "info": { "name": "Returns activities within a specified time range for a given user", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/activities", "params": [ { "name": "startedBefore", "value": "", "type": "query", "description": "the date to get activities that their started at time is less than this date" }, { "name": "stoppedAfter", "value": "", "type": "query", "description": "the date to get activities that their stopped at time is greater than this date" }, { "name": "includeDeleted", "value": "", "type": "query", "description": "if true, include soft-deleted activities; defaults to excluding them" } ] }, "docs": "Returns activities within a specified time range for a given user" }, { "info": { "name": "Creates a new Activity for a given user", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new Activity for a given user" }, { "info": { "name": "Dismisses a slice of open time by creating a soft-deleted user activity\nthat fills the gap. Open time is derived from the gaps between activities,\nso filling the gap is what removes it. Emits no events.", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/dismiss-open-time", "body": { "type": "json", "data": "{}" } }, "docs": "Dismisses a slice of open time by creating a soft-deleted user activity\nthat fills the gap. Open time is derived from the gaps between activities,\nso filling the gap is what removes it. Emits no events." }, { "info": { "name": "Creates a new Timer Activity, optionally adding it to an existing entry", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/timer", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new Timer Activity, optionally adding it to an existing entry" }, { "info": { "name": "Returns activities within a specified time range for a given user", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v2/activities", "params": [ { "name": "userId", "value": "", "type": "query", "description": "the user whose entries you are searching for" }, { "name": "customerId", "value": "", "type": "query", "description": "the user's customer" }, { "name": "startedBefore", "value": "", "type": "query", "description": "the date to get activities that their started at time is less than this date" }, { "name": "stoppedAfter", "value": "", "type": "query", "description": "the date to get activities that their stopped at time is greater than this date" } ] }, "docs": "Returns activities within a specified time range for a given user" }, { "info": { "name": "Returns paginated activities within a specified time range for a given user using cursor-based pagination", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v3/activities", "params": [ { "name": "pageSize", "value": "", "type": "query", "description": "max number of item in each page" }, { "name": "cursor", "value": "", "type": "query", "description": "cursor to start from" }, { "name": "userId", "value": "", "type": "query", "description": "the user whose entries you are searching for" }, { "name": "customerId", "value": "", "type": "query", "description": "the user's customer" }, { "name": "startedBefore", "value": "", "type": "query", "description": "the date to get activities that their started at time is less than this date" }, { "name": "stoppedAfter", "value": "", "type": "query", "description": "the date to get activities that their stopped at time is greater than this date" }, { "name": "clientId", "value": "", "type": "query", "description": "optional client filter" }, { "name": "creationMethod", "value": "", "type": "query", "description": "optional activity creation method filter" }, { "name": "category", "value": "", "type": "query", "description": "optional category filter matching activity.category or captureSource.activityCategory" }, { "name": "initiativeId", "value": "", "type": "query", "description": "optional initiative filter" }, { "name": "billingType", "value": "", "type": "query", "description": "optional initiative billing type filter" }, { "name": "isLocked", "value": "", "type": "query", "description": "optional lock state filter" } ] }, "docs": "Returns paginated activities within a specified time range for a given user using cursor-based pagination" }, { "info": { "name": "Returns activities joined with their capture metadata (incl. workContext) within a time range for a given user", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/activities/with-metadata", "params": [ { "name": "startedBefore", "value": "", "type": "query", "description": "the date to get activities that their started at time is less than this date" }, { "name": "stoppedAfter", "value": "", "type": "query", "description": "the date to get activities that their stopped at time is greater than this date" }, { "name": "includeDeleted", "value": "", "type": "query", "description": "if true, include soft-deleted activities; defaults to excluding them" } ] }, "docs": "Returns activities joined with their capture metadata (incl. workContext) within a time range for a given user" }, { "info": { "name": "Updates an existing Activity for a given user", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/v1/activities/:activityId", "params": [ { "name": "activityId", "value": "", "type": "path", "description": "individual activity id" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates an existing Activity for a given user" }, { "info": { "name": "Deletes an Activity by Id and returns the deleted Activity", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/api/v1/activities/:activityId", "params": [ { "name": "activityId", "value": "", "type": "path", "description": "individual activity id" } ] }, "docs": "Deletes an Activity by Id and returns the deleted Activity" }, { "info": { "name": "Archives (soft-deletes) many Activities by id — sets isDeleted, emits activity-updated, skips locked/missing", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/archive", "body": { "type": "json", "data": "{}" } }, "docs": "Archives (soft-deletes) many Activities by id — sets isDeleted, emits activity-updated, skips locked/missing" }, { "info": { "name": "Unarchives (revives) many soft-deleted Activities by id — clears isDeleted, emits activity-updated, skips locked/missing", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/unarchive", "body": { "type": "json", "data": "{}" } }, "docs": "Unarchives (revives) many soft-deleted Activities by id — clears isDeleted, emits activity-updated, skips locked/missing" }, { "info": { "name": "Enqueues a background job that re-emits ActivityCreatedForSignal events for\nevery activity of the given customer started within the date range. Guarded\nby the cross-customer activity read permission held by super-laurel-admins.", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/signal-backfill", "body": { "type": "json", "data": "{}" } }, "docs": "Enqueues a background job that re-emits ActivityCreatedForSignal events for\nevery activity of the given customer started within the date range. Guarded\nby the cross-customer activity read permission held by super-laurel-admins." }, { "info": { "name": "ActivityController_copyActivities_v1", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/v1/activities/copy-from/customers/:customerId/users/:userId", "params": [ { "name": "customerId", "value": "", "type": "path", "description": "customer's id" }, { "name": "userId", "value": "", "type": "path", "description": "user's id" } ], "body": { "type": "json", "data": "{}" } } }, { "info": { "name": "Allows a requester with TimeServicePermission.CustomerAnyUserAnyActivityRead (ie. Super Laurel Admin)\nto view activities from other Customer Users. This is used in the admin dashboard context.", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/customers/:customerId/users/:userId/activities", "params": [ { "name": "customerId", "value": "", "type": "path", "description": "customer's id" }, { "name": "userId", "value": "", "type": "path", "description": "user's id" }, { "name": "startedBefore", "value": "", "type": "query", "description": "the date to get activities that their started at time is less than this date" }, { "name": "stoppedAfter", "value": "", "type": "query", "description": "the date to get activities that their stopped at time is greater than this date" }, { "name": "includeDeleted", "value": "", "type": "query", "description": "if true, include soft-deleted activities; defaults to excluding them" } ] }, "docs": "Allows a requester with TimeServicePermission.CustomerAnyUserAnyActivityRead (ie. Super Laurel Admin)\nto view activities from other Customer Users. This is used in the admin dashboard context." }, { "info": { "name": "Returns activity by activityId for a given customer and user", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/v1/customers/:customerId/users/:userId/activities/:activityId", "params": [ { "name": "activityId", "value": "", "type": "path", "description": "individual activity id" }, { "name": "customerId", "value": "", "type": "path", "description": "customer's id" }, { "name": "userId", "value": "", "type": "path", "description": "user's id" }, { "name": "includeMetadata", "value": "", "type": "query", "description": "whether to include activity metadata in the response" } ] }, "docs": "Returns activity by activityId for a given customer and user" }, { "info": { "name": "CustomerActivityController_updateOne_v1", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/v1/customers/:customerId/users/:userId/activities/:activityId", "params": [ { "name": "activityId", "value": "", "type": "path", "description": "individual activity id" }, { "name": "customerId", "value": "", "type": "path", "description": "customer's id" }, { "name": "userId", "value": "", "type": "path", "description": "user's id" } ], "body": { "type": "json", "data": "{}" } } } ] } ], "bundled": true }