openapi: 3.1.0 info: title: Webflow Assets Asset Folders Workspce Audit Logs API description: Webflow Data API v2 - Assets endpoints. version: 2.0.0 contact: name: Webflow Developer Relations email: developers@webflow.com url: https://developers.webflow.com termsOfService: https://webflow.com/legal/terms license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: https://api.webflow.com/v2 description: Webflow API v2 x-fern-server-name: Data API security: - OAuth2: [] - ApiKey: [] tags: - name: Workspce Audit Logs paths: /workspaces/{workspace_id_or_slug}/audit_logs: get: x-fern-sdk-group-name: - workspaces - audit_logs x-fern-sdk-method-name: get-workspace-audit_logs security: - OAuth2: - workspace_activity:read operationId: get-workspace-audit-logs summary: Webflow Get Workspace Audit Logs description: 'Get audit logs for a workspace. This endpoint requires an Enterprise workspace and a workspace token with the `workspace_activity:read` scope. Create a workspace token from your workspace dashboard integrations page to use this endpoint. Required scope | `workspace_activity:read` ' tags: - Workspce Audit Logs parameters: - name: workspace_id_or_slug in: path description: Unique identifier or slug for a Workspace example: hitchhikers-workspace required: true schema: type: string format: objectid default: null - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: integer - in: query example: 0 allowEmptyValue: true name: offset description: Offset used for pagination if the results have more than limit records required: false schema: type: integer - name: sortOrder in: query allowEmptyValue: true description: Sorts the results by asc or desc required: false schema: type: string enum: - asc - desc - name: eventType in: query required: false allowEmptyValue: true description: The event type to filter by schema: type: string enum: - user_access - custom_role - workspace_membership - site_membership - workspace_invitation - workspace_setting example: user_access - name: from in: query required: false allowEmptyValue: true description: The start date to filter by schema: type: string format: date-time example: '2025-06-22T16:00:31Z' - name: to in: query required: false allowEmptyValue: true description: The end date to filter by schema: type: string format: date-time example: '2025-07-22T16:00:31Z' responses: '200': description: A list of workspace audit logs content: application/json: schema: type: object properties: items: type: array items: type: object properties: timestamp: type: string format: date-time actor: type: object properties: id: type: string email: type: string workspace: type: object properties: id: type: string slug: type: string oneOf: - type: object title: User Access properties: eventType: type: string enum: - user_access eventSubType: type: string enum: - login - logout payload: x-fern-type-name: User access title: User access type: object properties: method: type: string enum: - dashboard - sso - api - google location: type: string description: The geolocation based on the logged IP address ipAddress: type: string description: The captured IP address of the user - type: object title: Custom Role properties: eventType: type: string enum: - custom_role eventSubType: type: string enum: - role_created - role_updated - role_deleted payload: x-fern-type-name: Custom role title: Custom role type: object properties: roleName: type: string description: The name of the custom role previousRoleName: type: string description: The previous name of the custom role - type: object title: Workspace Membership properties: eventType: type: string enum: - workspace_membership eventSubType: type: string enum: - user_added - user_removed - user_role_updated payload: x-fern-type-name: Workspace membership title: Workspace membership type: object properties: targetUser: type: object properties: id: type: string email: type: string method: type: string enum: - sso - dashboard - admin - access_request userType: type: string enum: - member - guest - reviewer - client roleName: type: string description: The name of the role that was assigned to the user previousRoleName: type: string description: The previous role that the user had - type: object title: Site Membership properties: eventType: type: string enum: - site_membership eventSubType: type: string enum: - user_added - user_removed - user_role_updated - user_granular_access_updated payload: x-fern-type-name: Site membership title: Site membership type: object properties: site: type: object properties: id: type: string slug: type: string targetUser: type: object properties: id: type: string email: type: string method: type: string enum: - sso - invite - scim - dashboard - admin - access_request userType: type: string enum: - member - guest - reviewer - client roleName: type: string description: The name of the role that was assigned to the user previousRoleName: type: string description: The previous role that the user had granularAccess: type: object properties: id: type: string name: type: string type: type: string enum: - cms restricted: type: boolean - type: object title: Workspace Invitation properties: eventType: type: string enum: - workspace_invitation eventSubType: type: string enum: - invite_sent - invite_accepted - invite_updated - invite_canceled - invite_declined - access_request_accepted payload: x-fern-type-name: Workspace invitation title: Workspace invitation type: object properties: targetUser: type: object properties: id: type: string email: type: string method: type: string enum: - sso - dashboard - admin userType: type: string enum: - member - guest - reviewer - client roleName: type: string description: The name of the role that was assigned to the user previousRoleName: type: string description: The previous role that the user had targetUsers: type: array items: type: object properties: id: type: string example: 580e63e98c9a982ac9b8b741 email: type: string example: zaphod.beeblebrox@heartofgold.ship - type: object title: Setting Change properties: eventType: type: string enum: - workspace_setting eventSubType: type: string enum: - setting_updated payload: x-fern-type-name: Setting change title: Setting change type: object properties: setting: type: string enum: - ai_toggle previousValue: type: string example: 'false' value: type: string example: 'true' method: type: string enum: - dashboard - admin pagination: description: Pagination object type: object required: - limit - offset - total properties: limit: type: integer description: The limit used for pagination example: 100 readOnly: true offset: type: integer description: The offset used for pagination example: 0 readOnly: true total: type: integer description: The total number of records example: 100 readOnly: true example: items: - timestamp: '2025-04-29T20:30:06.622Z' eventType: user_access eventSubType: login actor: id: 6661ccb359b561c69f29d554 email: someone@email.com workspace: id: 6621ccb459b561c69f29d57c slug: hitchhikers-workspace payload: ipAddress: 54.165.18.93 location: Ashburn US method: dashboard - timestamp: '2025-04-30T20:30:06.622Z' eventSubType: user_added eventType: workspace_membership actor: id: 60492e55bbddce079561cd7a email: someone@webflow.com workspace: id: 6621ccb459b561c69f29d57c slug: hitchhikers-workspace payload: targetUser: id: 60492e55bbddce079561cd7a email: someone@webflow.com method: sso roleName: member userType: member - timestamp: '2025-04-30T00:33:31.793Z' eventType: site_membership eventSubType: user_added actor: id: 671fe00d185fc8c1ad409d37 email: someone@webflow.com workspace: id: 6621ccb459b561c69f29d57c slug: hitchhikers-workspace payload: method: dashboard roleName: Edit - Cannot publish site: id: 67dc519889286123da057175 slug: hitchhikers-site targetUser: id: 672946bf5d384ea895bb95e2 email: someone@webflow.com userType: member granularAccess: id: 67dc519889286123da057175 name: Blogs type: cms restricted: false pagination: total: 3 limit: 10 offset: 0 '401': description: Provided access token is invalid or does not have access to requested resource x-logErrorCode: 401 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: not_authorized message: Request not authorized externalReference: null details: [] '403': description: Forbidden x-logErrorCode: 403 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: forbidden message: User is not authorized to perform this action externalReference: null details: [] '404': description: Requested resource not found x-logErrorCode: 404 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: resource_not_found message: 'Requested resource not found: The site cannot be found' externalReference: null details: [] '429': description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. x-logErrorCode: 429 headers: X-RateLimit-Remaining: description: Contains the number of available requests remaining in the current minute schema: type: number X-RateLimit-Limit: description: Contains your current overall rate limit per minute schema: type: number content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: too_many_requests message: Too many requests externalReference: null details: [] '500': description: We had a problem with our server. Try again later. content: application/json: x-logErrorCode: 500 schema: type: object example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: internal_error message: An Internal Error occurred externalReference: null details: [] components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: scopes: authorized_user:read: read details about the authorized user assets:read: read assets on the site assets:write: write assets on a site cms:read: read collections and items for a site cms:write: write to collections and items for a site comments:read: read comments on the site comments:write: write comments on the site custom_code:read: read custom code on the site custom_code:write: modify custom code on the site ecommerce:read: read ecommerce data ecommerce:write: edit ecommerce data forms:read: read form data forms:write: write form data pages:read: read pages on the site pages:write: write to pages on the site components:read: read component data components:write: write component data sites:read: read sites on the site sites:write: modify pages on the site users:read: read users on the site site_activity:read: read site activity logs users:write: modify users on the site workspace:read: read workspace resource data workspace:write: write workspace resource data site_config:read: read site configuration data site_config:write: write site configuration data authorizationUrl: https://webflow.com/oauth/authorize tokenUrl: https://api.webflow.com/oauth/token ApiKey: type: http scheme: bearer x-fern-token-variable-name: access_token