openapi: 3.2.0 info: title: Opal Users API license: name: Opal API License url: https://www.workwithopal.com/api-license version: '1.0' description: 'Operations tagged Users across 2 of this provider''s published API definitions: opal-v2-openapi.yml, opal-v3-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://login.ouropal.com tags: - name: Users paths: /users/v2/{user_id}: get: tags: - Users operationId: ReadUserV2 summary: Return a user by ID security: - oauth2: - offline_access - api_key: - Session-Token parameters: - name: user_id in: path required: true description: The ID of the User schema: type: string - name: include in: query required: false description: A comma separated list of related objects to include schema: type: array items: type: string enum: - avatar_asset_reference - brand_admin_users - brands - brands.logo - brands.dispatch_providers - moments_setting - opal - opal.plan - primary_brand - profile - role style: form explode: false responses: '200': description: Returns the given user by ID. Can be used for any active or inactive user in the Opal. content: application/json: schema: type: object required: - data properties: data: title: user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user meta: type: - object - 'null' description: Metadata around the Brand object properties: workspace_approval_counts: type: object description: Object representing the user's unseen approval counts per Workspace Id. attributes: type: object required: - created_at - email - first_name - full_name - is_active - last_name - title - transliterated_full_name - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true email: type: string first_name: type: string full_name: type: string is_active: type: - boolean - 'null' last_name: type: string role_name: type: string title: type: - string - 'null' transliterated_full_name: type: string feature_flags: type: object additionalProperties: type: boolean description: 'A named feature flag and `true` or `false` depending on whether the feature is enabled for the user or not. ' description: 'List of Feature Flags for this user, only available for the currently authenticated User. ' updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true uuid: type: string format: uuid relationships: type: object required: - opal additionalProperties: false properties: avatar_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference brands: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand brand_admin_users: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand_admin_user role: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - role profile: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user_profile opal: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - opal moments_setting: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - moments_setting included: type: array items: oneOf: - title: asset_reference type: object required: - id - attributes - type - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - asset_reference attributes: type: object required: - asset_type - asset_uuid - content_type - format - filename - escaped_filename - filesize - full_url - meta_data - original_url - preview_url - public_id - width - height - uuid additionalProperties: false properties: asset_type: type: - string - 'null' description: 'This field is semi-open ended but should be set to `image`, `audio`, or `video` for those respective types of media and `file` for most other types of media. ' asset_source: type: - string - 'null' description: 'Asset Sources are pre-existing records indicating the origin of an asset reference. You can''t set this field to arbitrary values. If you know of an Asset Source and you''d like to indicate a new asset reference originated with that source, this field should contain that source''s name. ' asset_uuid: type: - string - 'null' description: 'The `id` of an `asset` resource this asset reference will surface within the Asset Library. ' content_type: type: - string - 'null' description: 'This field was used by some legacy systems. It is exposed for historical reasons. If set, setting it to the same value as `asset_type` is generally a good idea. It is not a MIME type. ' description: type: - string - 'null' format: type: - string - 'null' description: 'Used differently by some legacy systems but any new asset reference should use the `format` field to store its filetype extension (ex. `png`, `mp4`, `gif`, `mov`, etc.). ' filename: type: - string - 'null' escaped_filename: type: string readOnly: true filesize: type: - integer - 'null' description: Size of file in bytes. full_url: type: - string - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `url` property of the asset. ' meta_data: type: - object - 'null' description: Can contain arbitrary key-value pairs related to the asset. properties: duration: type: string description: Parsed from video assets. page_count: type: string description: Parsed from PDF assets. processed_height: type: string description: Parsed from video assets. processed_width: type: string description: Parsed from video assets. additionalProperties: type: string original_url: type: - string - 'null' preview_url: type: - string - 'null' readOnly: true public_id: type: - string - 'null' width: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `width` of the asset. ' height: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `height` of the asset. ' uuid: type: string readOnly: true description: 'Use this ID when referring to the same asset reference from one of Opal''s v3 APIs. ' relationships: type: object additionalProperties: false properties: brand: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand stories: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - story cover_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference labels: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label asset_reference_options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference_option options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - option - title: brand_admin_user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand_admin_user attributes: type: object additionalProperties: false properties: {} relationships: type: object required: - user - brand additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user brand: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand - title: brand type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand meta: type: - object - 'null' description: Metadata around the Brand object properties: user_is_member: type: boolean description: Boolean that represents whether the requesting user is a member of the brand. attributes: type: object required: - slug - name - uuid - start_of_week - timezone additionalProperties: false properties: uuid: type: string format: uuid description: A unique identifier for the workspace. created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true slug: type: string description: The slug for the Brand/Workspace. This is a url-safe name for the Workspace. name: type: string description: The name of the Workspace. start_of_week: type: number enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 description: 'The default start weekday index for the week view Calendar and for Plans. Specifies the days in a week, 0 to 6 (Sunday to Saturday). 0 (Sunday) is the default. With regards to the week view Calendar, values greater than 1 will be considered the same as 1.' timezone: type: string description: The IANA time zone identifier for the default time zone used when creating resources in the Brand/Workspace (e.g. America/New_York). relationships: type: object required: - primary_label_set - accounts - logo - dispatch_providers additionalProperties: false properties: primary_label_set: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label_set accounts: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - account logo: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference dispatch_providers: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - dispatch_provider - title: dispatch_provider_account type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - dispatch_provider attributes: type: object additionalProperties: false required: - display_name - system_name properties: display_name: type: string system_name: type: string created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true - title: moments_setting type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - moments_setting attributes: type: object required: - created_at - updated_at - budget_panel_moment_view_collapsed - chat_activity_hub_view_preference - collapsed_sections - content_queue_filters_open - current_brand_id - longform_editor_theme - moment_shroud_card_view - moment_shroud_layout - moments_filters_open - pinned_brand_ids - post_view_modes - stories_filters_open - timeslice_duration additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true budget_panel_moment_view_collapsed: type: boolean description: Determines inital collapse state of the Moment Budget section for the Moment Shroud. chat_activity_hub_view_preference: type: - string - 'null' description: Determines inital view mode of Chat & Activity panels. enum: - all_activity - chat - activity collapsed_sections: type: - array - 'null' items: type: string enum: - moment_hub_bucket - post_note_bucket - moment_note_bucket description: Listed sections will be collapsed by default in the Moment Shroud and Content Composer sidebars. content_queue_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Content Queue. current_brand_id: type: - integer - 'null' description: The most recently viewed workspace for the user. longform_editor_theme: type: - string - 'null' description: Determines inital theme for Longform content type enum: - light - dark moment_shroud_card_view: type: - object - 'null' description: Determines initial content card display mode in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Content card, 2 for Content only. title: type: string enum: - Content card - Content only moment_shroud_layout: type: - object - 'null' description: Determines initial content card layout in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Mosaic, 2 for Column, 3 for Seamless. title: type: string enum: - Mosaic - Column - Seamless moments_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Day, Week, and Month Views. pinned_brand_ids: type: - array - 'null' description: Determines prioritized workspaces in Workspace Directory items: type: string post_view_modes: type: - object - 'null' description: Determines initial view mode for each Content Type additionalProperties: type: string stories_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Story View. timeslice_duration: type: - string - 'null' description: Determines initial time scale Mode of Moments View. enum: - day - week - month relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: opal type: object required: - id - type - meta - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - opal meta: type: object description: Metadata around the Opal object properties: analytics_shortname: type: string app_environment: type: string app_version: type: string datadog_trace_enabled: type: boolean attributes: type: object required: - created_at - name - status - subdomain - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true name: type: string status: type: string subdomain: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true uuid: type: string format: uuid relationships: type: object required: - plan additionalProperties: false properties: plan: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - plan - title: plan type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - plan attributes: type: object required: - created_at - display_name - system_name - updated_at additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true display_name: type: string system_name: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true - title: user_profile type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user_profile attributes: type: object required: - bio - created_at - job_title - location - segments - updated_at additionalProperties: false properties: bio: type: - string - 'null' created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true job_title: type: - string - 'null' location: type: - string - 'null' segments: type: - array - 'null' items: type: string description: List of user-selected job functions to more accurately describe their role and responsibilities. updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: role type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - role attributes: type: object additionalProperties: false properties: system_name: type: string description: The internal name of the role. readOnly: true description: type: string description: The user-facing description of the role. readOnly: true example: data: id: '29' type: user attributes: created_at: '2019-11-13T18:14:56.166-08:00' email: garth@opal.com first_name: Garth last_name: Kunze title: null full_name: Garth Kunze transliterated_full_name: Garth Kunze is_active: true role_name: employee updated_at: '2019-11-13T18:40:50.112-08:00' uuid: 6a6667e4-d43c-4605-b4d1-7e694e2b67de relationships: avatar_asset_reference: data: id: '99' type: asset_reference role: data: id: '3' type: role brands: data: - id: '1' type: brand moments_setting: data: id: '1' type: moments_setting opal: data: id: '1' type: opal '401': description: Unauthorized content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status patch: tags: - Users operationId: UpdateUserV2 summary: Update the specified user security: - oauth2: - offline_access - api_key: - Session-Token parameters: - name: user_id in: path required: true description: The ID of the User schema: type: string requestBody: content: application/json: x-not-json-api: true schema: type: object required: - data properties: data: type: object required: - id - type properties: id: type: string type: type: string enum: - user attributes: type: object properties: first_name: type: - string - 'null' description: The first name of the User. last_name: type: string description: The last name of the User. email: type: string description: The email address of the User. is_active: type: boolean description: The activation status of the User (whether they have been deactivated). job_title: type: - string - 'null' description: The job title of the User. location: type: - string - 'null' description: The location of the User. bio: type: - string - 'null' description: A short bio of the User. password: type: string description: The new password for the User. Must be used with and the same as `password_confirmation`. password_confirmation: type: string description: The new password for the User. Must be used with and the same as `password`. relationships: type: object properties: avatar_asset_reference: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference brands: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand cover_asset_reference: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference role: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - role responses: '200': description: The user has been updated content: application/json: schema: type: object required: - data properties: data: title: user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user meta: type: - object - 'null' description: Metadata around the Brand object properties: workspace_approval_counts: type: object description: Object representing the user's unseen approval counts per Workspace Id. attributes: type: object required: - created_at - email - first_name - full_name - is_active - last_name - title - transliterated_full_name - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true email: type: string first_name: type: string full_name: type: string is_active: type: - boolean - 'null' last_name: type: string role_name: type: string title: type: - string - 'null' transliterated_full_name: type: string feature_flags: type: object additionalProperties: type: boolean description: 'A named feature flag and `true` or `false` depending on whether the feature is enabled for the user or not. ' description: 'List of Feature Flags for this user, only available for the currently authenticated User. ' updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true uuid: type: string format: uuid relationships: type: object required: - opal additionalProperties: false properties: avatar_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference brands: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand brand_admin_users: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand_admin_user role: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - role profile: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user_profile opal: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - opal moments_setting: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - moments_setting included: type: array items: oneOf: - title: asset_reference type: object required: - id - attributes - type - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - asset_reference attributes: type: object required: - asset_type - asset_uuid - content_type - format - filename - escaped_filename - filesize - full_url - meta_data - original_url - preview_url - public_id - width - height - uuid additionalProperties: false properties: asset_type: type: - string - 'null' description: 'This field is semi-open ended but should be set to `image`, `audio`, or `video` for those respective types of media and `file` for most other types of media. ' asset_source: type: - string - 'null' description: 'Asset Sources are pre-existing records indicating the origin of an asset reference. You can''t set this field to arbitrary values. If you know of an Asset Source and you''d like to indicate a new asset reference originated with that source, this field should contain that source''s name. ' asset_uuid: type: - string - 'null' description: 'The `id` of an `asset` resource this asset reference will surface within the Asset Library. ' content_type: type: - string - 'null' description: 'This field was used by some legacy systems. It is exposed for historical reasons. If set, setting it to the same value as `asset_type` is generally a good idea. It is not a MIME type. ' description: type: - string - 'null' format: type: - string - 'null' description: 'Used differently by some legacy systems but any new asset reference should use the `format` field to store its filetype extension (ex. `png`, `mp4`, `gif`, `mov`, etc.). ' filename: type: - string - 'null' escaped_filename: type: string readOnly: true filesize: type: - integer - 'null' description: Size of file in bytes. full_url: type: - string - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `url` property of the asset. ' meta_data: type: - object - 'null' description: Can contain arbitrary key-value pairs related to the asset. properties: duration: type: string description: Parsed from video assets. page_count: type: string description: Parsed from PDF assets. processed_height: type: string description: Parsed from video assets. processed_width: type: string description: Parsed from video assets. additionalProperties: type: string original_url: type: - string - 'null' preview_url: type: - string - 'null' readOnly: true public_id: type: - string - 'null' width: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `width` of the asset. ' height: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `height` of the asset. ' uuid: type: string readOnly: true description: 'Use this ID when referring to the same asset reference from one of Opal''s v3 APIs. ' relationships: type: object additionalProperties: false properties: brand: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand stories: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - story cover_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference labels: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label asset_reference_options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference_option options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - option - title: brand_admin_user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand_admin_user attributes: type: object additionalProperties: false properties: {} relationships: type: object required: - user - brand additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user brand: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand - title: brand type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand meta: type: - object - 'null' description: Metadata around the Brand object properties: user_is_member: type: boolean description: Boolean that represents whether the requesting user is a member of the brand. attributes: type: object required: - slug - name - uuid - start_of_week - timezone additionalProperties: false properties: uuid: type: string format: uuid description: A unique identifier for the workspace. created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true slug: type: string description: The slug for the Brand/Workspace. This is a url-safe name for the Workspace. name: type: string description: The name of the Workspace. start_of_week: type: number enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 description: 'The default start weekday index for the week view Calendar and for Plans. Specifies the days in a week, 0 to 6 (Sunday to Saturday). 0 (Sunday) is the default. With regards to the week view Calendar, values greater than 1 will be considered the same as 1.' timezone: type: string description: The IANA time zone identifier for the default time zone used when creating resources in the Brand/Workspace (e.g. America/New_York). relationships: type: object required: - primary_label_set - accounts - logo - dispatch_providers additionalProperties: false properties: primary_label_set: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label_set accounts: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - account logo: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference dispatch_providers: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - dispatch_provider - title: dispatch_provider_account type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - dispatch_provider attributes: type: object additionalProperties: false required: - display_name - system_name properties: display_name: type: string system_name: type: string created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true - title: moments_setting type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - moments_setting attributes: type: object required: - created_at - updated_at - budget_panel_moment_view_collapsed - chat_activity_hub_view_preference - collapsed_sections - content_queue_filters_open - current_brand_id - longform_editor_theme - moment_shroud_card_view - moment_shroud_layout - moments_filters_open - pinned_brand_ids - post_view_modes - stories_filters_open - timeslice_duration additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true budget_panel_moment_view_collapsed: type: boolean description: Determines inital collapse state of the Moment Budget section for the Moment Shroud. chat_activity_hub_view_preference: type: - string - 'null' description: Determines inital view mode of Chat & Activity panels. enum: - all_activity - chat - activity collapsed_sections: type: - array - 'null' items: type: string enum: - moment_hub_bucket - post_note_bucket - moment_note_bucket description: Listed sections will be collapsed by default in the Moment Shroud and Content Composer sidebars. content_queue_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Content Queue. current_brand_id: type: - integer - 'null' description: The most recently viewed workspace for the user. longform_editor_theme: type: - string - 'null' description: Determines inital theme for Longform content type enum: - light - dark moment_shroud_card_view: type: - object - 'null' description: Determines initial content card display mode in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Content card, 2 for Content only. title: type: string enum: - Content card - Content only moment_shroud_layout: type: - object - 'null' description: Determines initial content card layout in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Mosaic, 2 for Column, 3 for Seamless. title: type: string enum: - Mosaic - Column - Seamless moments_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Day, Week, and Month Views. pinned_brand_ids: type: - array - 'null' description: Determines prioritized workspaces in Workspace Directory items: type: string post_view_modes: type: - object - 'null' description: Determines initial view mode for each Content Type additionalProperties: type: string stories_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Story View. timeslice_duration: type: - string - 'null' description: Determines initial time scale Mode of Moments View. enum: - day - week - month relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: opal type: object required: - id - type - meta - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - opal meta: type: object description: Metadata around the Opal object properties: analytics_shortname: type: string app_environment: type: string app_version: type: string datadog_trace_enabled: type: boolean attributes: type: object required: - created_at - name - status - subdomain - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true name: type: string status: type: string subdomain: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true uuid: type: string format: uuid relationships: type: object required: - plan additionalProperties: false properties: plan: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - plan - title: plan type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - plan attributes: type: object required: - created_at - display_name - system_name - updated_at additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true display_name: type: string system_name: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true - title: user_profile type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user_profile attributes: type: object required: - bio - created_at - job_title - location - segments - updated_at additionalProperties: false properties: bio: type: - string - 'null' created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true job_title: type: - string - 'null' location: type: - string - 'null' segments: type: - array - 'null' items: type: string description: List of user-selected job functions to more accurately describe their role and responsibilities. updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: role type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - role attributes: type: object additionalProperties: false properties: system_name: type: string description: The internal name of the role. readOnly: true description: type: string description: The user-facing description of the role. readOnly: true '400': description: Bad request content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status '403': description: Forbidden content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status '404': description: Not found content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status '422': description: Unprocessable entity content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status servers: - url: https://login.ouropal.com /users/v2/me: get: tags: - Users operationId: ReadMeV2 summary: Return the authenticated user security: - oauth2: - offline_access - api_key: - Session-Token parameters: - name: include in: query required: false description: A comma separated list of related objects to include schema: type: array items: type: string enum: - avatar_asset_reference - brand_admin_users - brands - brands.logo - brands.dispatch_providers - moments_setting - opal - opal.plan - primary_brand - profile - role style: form explode: false - name: expose in: query required: false description: Expose response data that is only provided by request. schema: type: object properties: meta: type: object properties: workspace_approval_counts: type: - object - 'null' description: 'Expose the user''s unseen approval counts for each workspace they are a member of. Use this parameter as: `?expose[meta][workspace_approval_counts]` ' responses: '200': description: The authenticated user content: application/json: schema: type: object required: - data properties: data: title: user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user meta: type: - object - 'null' description: Metadata around the Brand object properties: workspace_approval_counts: type: object description: Object representing the user's unseen approval counts per Workspace Id. attributes: type: object required: - created_at - email - first_name - full_name - is_active - last_name - title - transliterated_full_name - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true email: type: string first_name: type: string full_name: type: string is_active: type: - boolean - 'null' last_name: type: string role_name: type: string title: type: - string - 'null' transliterated_full_name: type: string feature_flags: type: object additionalProperties: type: boolean description: 'A named feature flag and `true` or `false` depending on whether the feature is enabled for the user or not. ' description: 'List of Feature Flags for this user, only available for the currently authenticated User. ' updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true uuid: type: string format: uuid relationships: type: object required: - opal additionalProperties: false properties: avatar_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference brands: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand brand_admin_users: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand_admin_user role: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - role profile: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user_profile opal: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - opal moments_setting: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - moments_setting included: type: array items: oneOf: - title: asset_reference type: object required: - id - attributes - type - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - asset_reference attributes: type: object required: - asset_type - asset_uuid - content_type - format - filename - escaped_filename - filesize - full_url - meta_data - original_url - preview_url - public_id - width - height - uuid additionalProperties: false properties: asset_type: type: - string - 'null' description: 'This field is semi-open ended but should be set to `image`, `audio`, or `video` for those respective types of media and `file` for most other types of media. ' asset_source: type: - string - 'null' description: 'Asset Sources are pre-existing records indicating the origin of an asset reference. You can''t set this field to arbitrary values. If you know of an Asset Source and you''d like to indicate a new asset reference originated with that source, this field should contain that source''s name. ' asset_uuid: type: - string - 'null' description: 'The `id` of an `asset` resource this asset reference will surface within the Asset Library. ' content_type: type: - string - 'null' description: 'This field was used by some legacy systems. It is exposed for historical reasons. If set, setting it to the same value as `asset_type` is generally a good idea. It is not a MIME type. ' description: type: - string - 'null' format: type: - string - 'null' description: 'Used differently by some legacy systems but any new asset reference should use the `format` field to store its filetype extension (ex. `png`, `mp4`, `gif`, `mov`, etc.). ' filename: type: - string - 'null' escaped_filename: type: string readOnly: true filesize: type: - integer - 'null' description: Size of file in bytes. full_url: type: - string - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `url` property of the asset. ' meta_data: type: - object - 'null' description: Can contain arbitrary key-value pairs related to the asset. properties: duration: type: string description: Parsed from video assets. page_count: type: string description: Parsed from PDF assets. processed_height: type: string description: Parsed from video assets. processed_width: type: string description: Parsed from video assets. additionalProperties: type: string original_url: type: - string - 'null' preview_url: type: - string - 'null' readOnly: true public_id: type: - string - 'null' width: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `width` of the asset. ' height: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `height` of the asset. ' uuid: type: string readOnly: true description: 'Use this ID when referring to the same asset reference from one of Opal''s v3 APIs. ' relationships: type: object additionalProperties: false properties: brand: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand stories: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - story cover_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference labels: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label asset_reference_options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference_option options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - option - title: brand_admin_user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand_admin_user attributes: type: object additionalProperties: false properties: {} relationships: type: object required: - user - brand additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user brand: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand - title: brand type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand meta: type: - object - 'null' description: Metadata around the Brand object properties: user_is_member: type: boolean description: Boolean that represents whether the requesting user is a member of the brand. attributes: type: object required: - slug - name - uuid - start_of_week - timezone additionalProperties: false properties: uuid: type: string format: uuid description: A unique identifier for the workspace. created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true slug: type: string description: The slug for the Brand/Workspace. This is a url-safe name for the Workspace. name: type: string description: The name of the Workspace. start_of_week: type: number enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 description: 'The default start weekday index for the week view Calendar and for Plans. Specifies the days in a week, 0 to 6 (Sunday to Saturday). 0 (Sunday) is the default. With regards to the week view Calendar, values greater than 1 will be considered the same as 1.' timezone: type: string description: The IANA time zone identifier for the default time zone used when creating resources in the Brand/Workspace (e.g. America/New_York). relationships: type: object required: - primary_label_set - accounts - logo - dispatch_providers additionalProperties: false properties: primary_label_set: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label_set accounts: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - account logo: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference dispatch_providers: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - dispatch_provider - title: dispatch_provider_account type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - dispatch_provider attributes: type: object additionalProperties: false required: - display_name - system_name properties: display_name: type: string system_name: type: string created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true - title: moments_setting type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - moments_setting attributes: type: object required: - created_at - updated_at - budget_panel_moment_view_collapsed - chat_activity_hub_view_preference - collapsed_sections - content_queue_filters_open - current_brand_id - longform_editor_theme - moment_shroud_card_view - moment_shroud_layout - moments_filters_open - pinned_brand_ids - post_view_modes - stories_filters_open - timeslice_duration additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true budget_panel_moment_view_collapsed: type: boolean description: Determines inital collapse state of the Moment Budget section for the Moment Shroud. chat_activity_hub_view_preference: type: - string - 'null' description: Determines inital view mode of Chat & Activity panels. enum: - all_activity - chat - activity collapsed_sections: type: - array - 'null' items: type: string enum: - moment_hub_bucket - post_note_bucket - moment_note_bucket description: Listed sections will be collapsed by default in the Moment Shroud and Content Composer sidebars. content_queue_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Content Queue. current_brand_id: type: - integer - 'null' description: The most recently viewed workspace for the user. longform_editor_theme: type: - string - 'null' description: Determines inital theme for Longform content type enum: - light - dark moment_shroud_card_view: type: - object - 'null' description: Determines initial content card display mode in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Content card, 2 for Content only. title: type: string enum: - Content card - Content only moment_shroud_layout: type: - object - 'null' description: Determines initial content card layout in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Mosaic, 2 for Column, 3 for Seamless. title: type: string enum: - Mosaic - Column - Seamless moments_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Day, Week, and Month Views. pinned_brand_ids: type: - array - 'null' description: Determines prioritized workspaces in Workspace Directory items: type: string post_view_modes: type: - object - 'null' description: Determines initial view mode for each Content Type additionalProperties: type: string stories_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Story View. timeslice_duration: type: - string - 'null' description: Determines initial time scale Mode of Moments View. enum: - day - week - month relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: opal type: object required: - id - type - meta - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - opal meta: type: object description: Metadata around the Opal object properties: analytics_shortname: type: string app_environment: type: string app_version: type: string datadog_trace_enabled: type: boolean attributes: type: object required: - created_at - name - status - subdomain - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true name: type: string status: type: string subdomain: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true uuid: type: string format: uuid relationships: type: object required: - plan additionalProperties: false properties: plan: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - plan - title: plan type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - plan attributes: type: object required: - created_at - display_name - system_name - updated_at additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true display_name: type: string system_name: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true - title: user_profile type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user_profile attributes: type: object required: - bio - created_at - job_title - location - segments - updated_at additionalProperties: false properties: bio: type: - string - 'null' created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true job_title: type: - string - 'null' location: type: - string - 'null' segments: type: - array - 'null' items: type: string description: List of user-selected job functions to more accurately describe their role and responsibilities. updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: role type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - role attributes: type: object additionalProperties: false properties: system_name: type: string description: The internal name of the role. readOnly: true description: type: string description: The user-facing description of the role. readOnly: true example: data: id: '29' type: user attributes: created_at: '2019-11-13T18:14:56.166-08:00' email: garth@workwithopal.com first_name: Garth last_name: Kunze title: null full_name: Garth Kunze transliterated_full_name: Garth Kunze is_active: true role_name: employee updated_at: '2019-11-13T18:40:50.112-08:00' uuid: 6a6667e4-d43c-4605-b4d1-7e694e2b67de relationships: avatar_asset_reference: data: id: '99' type: asset_reference role: data: id: '3' type: role brands: data: - id: '1' type: brand moments_setting: data: id: '1' type: moments_setting opal: data: id: '1' type: opal '401': description: Unauthorized content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status servers: - url: https://login.ouropal.com /users/v2/me/moments_setting: patch: tags: - Users operationId: UpdateMomentsSettingV2 summary: Update the Moments Setting for the authenticated user security: - oauth2: - offline_access - api_key: - Session-Token requestBody: content: application/json: x-not-json-api: true schema: type: object required: - data properties: data: type: object required: - type properties: type: type: string enum: - moments_setting attributes: type: object properties: budget_panel_moment_view_collapsed: type: boolean description: Determines inital collapse state of the Moment Budget section for the Moment Shroud. chat_activity_hub_view_preference: type: - string - 'null' description: Determines inital view mode of Chat & Activity panels. enum: - all_activity - chat - activity collapsed_sections: type: - array - 'null' items: type: string enum: - moment_hub_bucket - post_note_bucket - moment_note_bucket description: Listed sections will be collapsed by default in the Moment Shroud and Content Composer sidebars. content_queue_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Content Queue. current_brand_id: type: - integer - 'null' description: The most recently viewed workspace for the user. longform_editor_theme: type: - string - 'null' description: Determines inital theme for Longform content type enum: - light - dark moment_shroud_card_view: type: - object - 'null' description: Determines initial content card display mode in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Content card, 2 for Content only. title: type: string enum: - Content card - Content only moment_shroud_layout: type: - object - 'null' description: Determines initial content card layout in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Mosaic, 2 for Column, 3 for Seamless. title: type: string enum: - Mosaic - Column - Seamless moments_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Day, Week, and Month Views. pinned_brand_ids: type: - array - 'null' description: Determines prioritized workspaces in Workspace Directory items: type: string post_view_modes: type: - object - 'null' description: Determines initial view mode for each Content Type additionalProperties: type: string stories_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Story View. timeslice_duration: type: - string - 'null' description: Determines initial time scale Mode of Moments View. enum: - day - week - month responses: '200': description: The setting has been updated content: application/json: schema: type: object required: - data properties: data: title: moments_setting type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - moments_setting attributes: type: object required: - created_at - updated_at - budget_panel_moment_view_collapsed - chat_activity_hub_view_preference - collapsed_sections - content_queue_filters_open - current_brand_id - longform_editor_theme - moment_shroud_card_view - moment_shroud_layout - moments_filters_open - pinned_brand_ids - post_view_modes - stories_filters_open - timeslice_duration additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true budget_panel_moment_view_collapsed: type: boolean description: Determines inital collapse state of the Moment Budget section for the Moment Shroud. chat_activity_hub_view_preference: type: - string - 'null' description: Determines inital view mode of Chat & Activity panels. enum: - all_activity - chat - activity collapsed_sections: type: - array - 'null' items: type: string enum: - moment_hub_bucket - post_note_bucket - moment_note_bucket description: Listed sections will be collapsed by default in the Moment Shroud and Content Composer sidebars. content_queue_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Content Queue. current_brand_id: type: - integer - 'null' description: The most recently viewed workspace for the user. longform_editor_theme: type: - string - 'null' description: Determines inital theme for Longform content type enum: - light - dark moment_shroud_card_view: type: - object - 'null' description: Determines initial content card display mode in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Content card, 2 for Content only. title: type: string enum: - Content card - Content only moment_shroud_layout: type: - object - 'null' description: Determines initial content card layout in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Mosaic, 2 for Column, 3 for Seamless. title: type: string enum: - Mosaic - Column - Seamless moments_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Day, Week, and Month Views. pinned_brand_ids: type: - array - 'null' description: Determines prioritized workspaces in Workspace Directory items: type: string post_view_modes: type: - object - 'null' description: Determines initial view mode for each Content Type additionalProperties: type: string stories_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Story View. timeslice_duration: type: - string - 'null' description: Determines initial time scale Mode of Moments View. enum: - day - week - month relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user '400': description: Bad request content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status '403': description: Forbidden content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status '404': description: Not found content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status servers: - url: https://login.ouropal.com /users/v2/users: get: tags: - Users operationId: ReadUsersV2 summary: List all users in the requesting users Opal security: - oauth2: - offline_access - api_key: - Session-Token parameters: - name: include in: query required: false description: A comma separated list of related objects to include schema: type: array items: type: string enum: - avatar_asset_reference - brand_admin_users - brands - brands.logo - brands.dispatch_providers - moments_setting - opal - opal.plan - primary_brand - profile - role style: form explode: false - name: fields in: query description: An object keyed by resource type, i.e. \"story\" or a story relationship, where each value is a CSV of attributes to include in the response. required: false schema: type: object properties: story: type: string style: deepObject explode: true - name: filter in: query description: 'Filters for limiting the results. Default scoped to the requesting user''s Opal. All timestamp filters (`created_at`, `updated_at`) use the syntax `filter[field_name][gt]=2020-01-01T00:00:00-07:00`. Timestamps use iso8601 formatting, such as `YYYY-MM-DD` or `YYYY-MM-DDThh:mmTZD`. Timestamps of the form `YYYY-MM-DD` will be converted to `YYY-MM-DDT00:00:00` in the `America/Los_Angeles` timezone. For example, `filter[created_at]=2020-01-01` is equivalent to `filter[created_at][gteq]=2020-01-01`. `eq` will convert a date to a 24 hour range. Thus `filter[created_at][eq]=2020-01-01` is equivalent to `filter[created_at][gteq]=2020-01-01T00:00:00-08:00&filter[created_at][lteq]=2020-01-02T00:00:00-08:00`. ' required: false schema: type: object properties: brand_id: type: array description: 'Comma separated list of brand IDs. If included, will only fetch users with memberships in the provided brands in the requesting users Opal. For example, `filter[brand_id]=1` will fetch all users in brand 1, while `filter[brand_id]=1,2,3` will fetch any user in brand 1, 2, or 3. ' items: type: integer created_at: allOf: - type: object properties: eq: type: string description: 'Equal to filter. If no other filter is specified, `eq` will be assumed. ' gt: type: string description: Greater than filter gteq: type: string description: Greater than or equal to filter lt: type: string description: Less than filter lteq: type: string description: Less than or equal to filter - format: date-time - description: 'Filter users by created_at time. Uses syntax `filter[created_at][gt]=2020-01-01T00:00:00-07:00` ' is_active: type: boolean description: 'Boolean true returns active users, while boolean false returns deactivated users. Omission will return all users. NOTE: soft-deleted users cannot be returned. ' role: type: array description: 'Comma separated list of user roles. If included, will only fetch users with provided user roles. For example, `filter[role]=admin` will fetch all users with the "admin" user role, while `filter[role]=admin,user` will fetch any user with roles "admin" or "user". ' items: type: string enum: - admin - opal_admin - user - view_only - limited updated_at: allOf: - type: object properties: eq: type: string description: 'Equal to filter. If no other filter is specified, `eq` will be assumed. ' gt: type: string description: Greater than filter gteq: type: string description: Greater than or equal to filter lt: type: string description: Less than filter lteq: type: string description: Less than or equal to filter - format: date-time - description: "Filter by the user updated_at time. Uses syntax `filter[updated_at][gt]=2020-01-01T00:00:00-07:00`.\n brand_id:\n" primary_brand_id: type: integer description: 'Filter by the users primary brand id. A user''s primary brand is the first brand they joined chronologically unless manually set. ' name: type: string description: Filters by the users full name matching any user where the term provided is a substring of the first name or last name. style: deepObject explode: true - name: sort in: query description: 'A comma separated value specifying how a collection in the response body should be sorted, where each value is an attribute of the user. When specifying multiple values, each value in the sequence determines the ordering precedence. Each user in the collection will appear in ascending order, unless any of the enumerated values are prefixed with a minus "-" sign, in which case each user will appear in descending order for the specified values. If no sort parameter is provided, users will be default sorted by created_at, ascending. If sorting by role, users will be sorted by role_id. ' required: false schema: type: string enum: - created_at - deactivated_at - email - full_name - last_name - role - updated_at - name: page description: Specify an offset and limit for pagination in: query required: false schema: type: object properties: limit: type: integer default: 50 offset: type: integer style: deepObject explode: true responses: '200': description: Returns a list of all users in the requesting user's Opal. Can be used for any active or inactive user in the Opal, but will not include soft-deleted users. content: application/json: schema: type: object required: - data properties: data: type: array items: title: user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user meta: type: - object - 'null' description: Metadata around the Brand object properties: workspace_approval_counts: type: object description: Object representing the user's unseen approval counts per Workspace Id. attributes: type: object required: - created_at - email - first_name - full_name - is_active - last_name - title - transliterated_full_name - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true email: type: string first_name: type: string full_name: type: string is_active: type: - boolean - 'null' last_name: type: string role_name: type: string title: type: - string - 'null' transliterated_full_name: type: string feature_flags: type: object additionalProperties: type: boolean description: 'A named feature flag and `true` or `false` depending on whether the feature is enabled for the user or not. ' description: 'List of Feature Flags for this user, only available for the currently authenticated User. ' updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true uuid: type: string format: uuid relationships: type: object required: - opal additionalProperties: false properties: avatar_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference brands: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand brand_admin_users: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand_admin_user role: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - role profile: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user_profile opal: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - opal moments_setting: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - moments_setting included: type: array items: oneOf: - title: asset_reference type: object required: - id - attributes - type - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - asset_reference attributes: type: object required: - asset_type - asset_uuid - content_type - format - filename - escaped_filename - filesize - full_url - meta_data - original_url - preview_url - public_id - width - height - uuid additionalProperties: false properties: asset_type: type: - string - 'null' description: 'This field is semi-open ended but should be set to `image`, `audio`, or `video` for those respective types of media and `file` for most other types of media. ' asset_source: type: - string - 'null' description: 'Asset Sources are pre-existing records indicating the origin of an asset reference. You can''t set this field to arbitrary values. If you know of an Asset Source and you''d like to indicate a new asset reference originated with that source, this field should contain that source''s name. ' asset_uuid: type: - string - 'null' description: 'The `id` of an `asset` resource this asset reference will surface within the Asset Library. ' content_type: type: - string - 'null' description: 'This field was used by some legacy systems. It is exposed for historical reasons. If set, setting it to the same value as `asset_type` is generally a good idea. It is not a MIME type. ' description: type: - string - 'null' format: type: - string - 'null' description: 'Used differently by some legacy systems but any new asset reference should use the `format` field to store its filetype extension (ex. `png`, `mp4`, `gif`, `mov`, etc.). ' filename: type: - string - 'null' escaped_filename: type: string readOnly: true filesize: type: - integer - 'null' description: Size of file in bytes. full_url: type: - string - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `url` property of the asset. ' meta_data: type: - object - 'null' description: Can contain arbitrary key-value pairs related to the asset. properties: duration: type: string description: Parsed from video assets. page_count: type: string description: Parsed from PDF assets. processed_height: type: string description: Parsed from video assets. processed_width: type: string description: Parsed from video assets. additionalProperties: type: string original_url: type: - string - 'null' preview_url: type: - string - 'null' readOnly: true public_id: type: - string - 'null' width: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `width` of the asset. ' height: type: - integer - 'null' description: 'When associating an asset with an asset reference, this field should be set to the `height` of the asset. ' uuid: type: string readOnly: true description: 'Use this ID when referring to the same asset reference from one of Opal''s v3 APIs. ' relationships: type: object additionalProperties: false properties: brand: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand stories: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - story cover_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference labels: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label asset_reference_options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference_option options: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - option - title: brand_admin_user type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand_admin_user attributes: type: object additionalProperties: false properties: {} relationships: type: object required: - user - brand additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user brand: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - brand - title: brand type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - brand meta: type: - object - 'null' description: Metadata around the Brand object properties: user_is_member: type: boolean description: Boolean that represents whether the requesting user is a member of the brand. attributes: type: object required: - slug - name - uuid - start_of_week - timezone additionalProperties: false properties: uuid: type: string format: uuid description: A unique identifier for the workspace. created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true slug: type: string description: The slug for the Brand/Workspace. This is a url-safe name for the Workspace. name: type: string description: The name of the Workspace. start_of_week: type: number enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 description: 'The default start weekday index for the week view Calendar and for Plans. Specifies the days in a week, 0 to 6 (Sunday to Saturday). 0 (Sunday) is the default. With regards to the week view Calendar, values greater than 1 will be considered the same as 1.' timezone: type: string description: The IANA time zone identifier for the default time zone used when creating resources in the Brand/Workspace (e.g. America/New_York). relationships: type: object required: - primary_label_set - accounts - logo - dispatch_providers additionalProperties: false properties: primary_label_set: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - label_set accounts: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - account logo: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference dispatch_providers: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - dispatch_provider - title: moments_setting type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - moments_setting attributes: type: object required: - created_at - updated_at - budget_panel_moment_view_collapsed - chat_activity_hub_view_preference - collapsed_sections - content_queue_filters_open - current_brand_id - longform_editor_theme - moment_shroud_card_view - moment_shroud_layout - moments_filters_open - pinned_brand_ids - post_view_modes - stories_filters_open - timeslice_duration additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true budget_panel_moment_view_collapsed: type: boolean description: Determines inital collapse state of the Moment Budget section for the Moment Shroud. chat_activity_hub_view_preference: type: - string - 'null' description: Determines inital view mode of Chat & Activity panels. enum: - all_activity - chat - activity collapsed_sections: type: - array - 'null' items: type: string enum: - moment_hub_bucket - post_note_bucket - moment_note_bucket description: Listed sections will be collapsed by default in the Moment Shroud and Content Composer sidebars. content_queue_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Content Queue. current_brand_id: type: - integer - 'null' description: The most recently viewed workspace for the user. longform_editor_theme: type: - string - 'null' description: Determines inital theme for Longform content type enum: - light - dark moment_shroud_card_view: type: - object - 'null' description: Determines initial content card display mode in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Content card, 2 for Content only. title: type: string enum: - Content card - Content only moment_shroud_layout: type: - object - 'null' description: Determines initial content card layout in the Moment Shroud. additionalProperties: false properties: id: type: number description: Corresponding ID value for `title`. 1 for Mosaic, 2 for Column, 3 for Seamless. title: type: string enum: - Mosaic - Column - Seamless moments_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Day, Week, and Month Views. pinned_brand_ids: type: - array - 'null' description: Determines prioritized workspaces in Workspace Directory items: type: string post_view_modes: type: - object - 'null' description: Determines initial view mode for each Content Type additionalProperties: type: string stories_filters_open: type: - boolean - 'null' description: Determines initial collapse state of the filter panel in Story View. timeslice_duration: type: - string - 'null' description: Determines initial time scale Mode of Moments View. enum: - day - week - month relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: opal type: object required: - id - type - meta - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - opal meta: type: object description: Metadata around the Opal object properties: analytics_shortname: type: string app_environment: type: string app_version: type: string datadog_trace_enabled: type: boolean attributes: type: object required: - created_at - name - status - subdomain - updated_at - uuid additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true name: type: string status: type: string subdomain: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true uuid: type: string format: uuid relationships: type: object required: - plan additionalProperties: false properties: plan: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - plan - title: plan type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - plan attributes: type: object required: - created_at - display_name - system_name - updated_at additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true display_name: type: string system_name: type: string updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true - title: user_profile type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - user_profile attributes: type: object required: - bio - created_at - job_title - location - segments - updated_at additionalProperties: false properties: bio: type: - string - 'null' created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true job_title: type: - string - 'null' location: type: - string - 'null' segments: type: - array - 'null' items: type: string description: List of user-selected job functions to more accurately describe their role and responsibilities. updated_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true relationships: type: object required: - user additionalProperties: false properties: user: type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - user - title: role type: object required: - id - type - attributes additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ type: type: string enum: - role attributes: type: object additionalProperties: false properties: system_name: type: string description: The internal name of the role. readOnly: true description: type: string description: The user-facing description of the role. readOnly: true meta: type: object required: - total - page - resource_type properties: resource_type: type: string total: type: integer page: type: object required: - limit - offset properties: limit: type: integer offset: type: integer example: data: - id: '29' type: user attributes: created_at: '2019-11-13T18:14:56.166-08:00' email: garth@opal.com first_name: Garth last_name: Kunze title: null full_name: Garth Kunze transliterated_full_name: Garth Kunze is_active: true role_name: employee updated_at: '2019-11-13T18:40:50.112-08:00' uuid: 6a6667e4-d43c-4605-b4d1-7e694e2b67de relationships: avatar_asset_reference: data: id: '99' type: asset_reference role: data: id: '3' type: role brands: data: - id: '1' type: brand moments_setting: data: id: '1' type: moments_setting opal: data: id: '1' type: opal meta: total: 1 resource_type: user '401': description: Unauthorized content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string title: type: string detail: type: string required: - status servers: - url: https://login.ouropal.com /users/v3/users: get: tags: - Users operationId: ReadUsersV3 summary: '[UNSTABLE] Get users available to the authenticated user.' security: - oauth2: - offline_access - api_key: [] parameters: - name: filter in: query description: 'Filters for limiting the results. ' required: false schema: type: object properties: id: type: array items: type: string format: uuid is_active: type: boolean description: 'Boolean true returns active users, while boolean false returns deactivated users. Omission will return all users. NOTE: soft-deleted users cannot be returned. ' name: type: string description: A string to filter users by name. workspace_id: type: array description: 'The IDs of the workspaces to which results should be filtered. Comma separated list of IDs. If included, will only fetch resources associated with these workspaces. If not included, will return resources associated with all workspaces that the user belongs to. For example, `filter[workspace_id]=798ac6d9-b3fc-4155-88ee-237f43f3404b` will fetch all resources associated with workspace `798ac6d9-b3fc-4155-88ee-237f43f3404b`, while `filter[workspace_id]=798ac6d9-b3fc-4155-88ee-237f43f3404b,d79e513e-9246-454e-80bf-8268bc39cd6e,f2b19a4a-ba0c-49be-8aa7-a1bf68a4a4ed` will fetch any resources associated with workspaces `798ac6d9-b3fc-4155-88ee-237f43f3404b`, `d79e513e-9246-454e-80bf-8268bc39cd6e`, or `f2b19a4a-ba0c-49be-8aa7-a1bf68a4a4ed`. ' items: type: string format: uuid style: deepObject explode: true - name: include in: query required: false description: A comma separated value of related objects to include. schema: type: array items: type: string enum: - profile - profile.avatar_asset_reference - workspace style: form explode: false - name: sort in: query description: 'A comma separated value specifying how a collection in the response body should be sorted, where each value is an attribute of the user. When specifying multiple values, each value in the sequence determines the ordering precedence. Each user in the collection will appear in ascending order, unless any of the enumerated values are prefixed with a minus "-" sign, in which case each user will appear in descending order for the specified values. If no sort parameter is provided, users will be default sorted by created_at, ascending. ' required: false schema: type: string enum: - created_at - email - full_name - last_name - updated_at - name: page description: Specify an offset and limit for pagination in: query required: false schema: type: object properties: limit: type: integer default: 50 offset: type: integer style: deepObject explode: true responses: '200': description: A collection of Users. content: application/json: schema: type: object required: - data - meta properties: data: type: array items: title: user type: object required: - id - type - attributes - relationships - links additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - user meta: type: - object - 'null' description: Metadata around the User object properties: workspace_approval_counts: type: object description: Object representing the user's unseen approval counts per Workspace Id. attributes: type: object required: - created_at - email - first_name - full_name - is_active - last_name - title - transliterated_full_name - updated_at - legacy_id additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true email: type: string first_name: type: string full_name: type: string is_active: type: - boolean - 'null' last_name: type: string role_name: type: string title: type: - string - 'null' transliterated_full_name: type: string feature_flags: type: object additionalProperties: type: boolean description: 'A named feature flag and `true` or `false` depending on whether the feature is enabled for the user or not. ' description: 'List of Feature Flags for this user, only available for the currently authenticated User. ' updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true legacy_id: type: string description: An ID that can be used with `v2` APIs. relationships: type: object required: - profile - workspaces additionalProperties: false properties: profile: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - user_profile workspaces: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - workspace links: type: object additionalProperties: false required: - v2_request properties: v2_request: type: string format: uri included: type: array items: oneOf: - title: user_profile type: object required: - id - type - attributes - relationships additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - user_profile attributes: type: object required: - bio - created_at - job_title - location - segments - updated_at - legacy_id additionalProperties: false properties: bio: type: - string - 'null' created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true job_title: type: - string - 'null' location: type: - string - 'null' segments: type: - array - 'null' items: type: string description: List of user-selected job functions to more accurately describe their role and responsibilities. updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true legacy_id: type: string description: An ID that can be used with `v2` APIs. relationships: type: object required: - avatar_asset_reference - user additionalProperties: false properties: avatar_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference user: title: User type: object required: - data additionalProperties: false properties: data: type: object required: - id - type additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - user - title: asset_reference type: object required: - id - type - attributes additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - asset_reference attributes: type: object required: - asset_type - content_type - created_at - description - escaped_filename - filename - filesize - format - full_url - height - legacy_id - meta_data - original_url - preview_url - public_id - updated_at - width additionalProperties: false properties: asset_type: type: - string - 'null' content_type: type: - string - 'null' created_at: type: string description: An ISO8601 date-time. Formatted as an 'Internet Date/Time' (RFC 3339). format: date-time readOnly: true description: type: - string - 'null' escaped_filename: type: string filename: type: - string - 'null' filesize: type: - integer - 'null' description: Size of file in bytes. format: type: - string - 'null' full_url: type: - string - 'null' height: type: - integer - 'null' legacy_id: type: string description: A legacy ID that can be used with `v2` API endpoints. meta_data: type: - object - 'null' original_url: type: - string - 'null' preview_url: type: - string - 'null' public_id: type: - string - 'null' x-not-relationship: true updated_at: type: string description: An ISO8601 date-time. Formatted as an 'Internet Date/Time' (RFC 3339). format: date-time readOnly: true width: type: - integer - 'null' relationships: type: object additionalProperties: false properties: asset: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - asset cover_asset_reference: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference - title: workspace type: object required: - id - type - attributes - relationships - links additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - workspace meta: type: - object - 'null' description: Metadata around the Workspace object properties: user_is_member: type: boolean description: Boolean that represents whether the requesting user is a member of the workspace. attributes: type: object required: - created_at - name - slug - updated_at - start_of_week - timezone - legacy_id additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true legacy_id: type: string description: A legacy ID that can be used with `v2` API endpoints. name: type: string description: The name of the workspace. slug: type: - string - 'null' description: The slug for the Workspace. This is a url-safe name for the Workspace. start_of_week: type: number enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 description: 'The default start weekday index for the week view Calendar and for Plans. Specifies the days in a week, 0 to 6 (Sunday to Saturday). 0 (Sunday) is the default. With regards to the week view Calendar, values greater than 1 will be considered the same as 1.' timezone: type: string description: The IANA time zone identifier for the default time zone used when creating resources in the workspace (e.g. America/New_York). updated_at: type: - string - 'null' format: date-time description: An ISO8601 date-time. readOnly: true relationships: type: object required: - logo - workspace_defaults additionalProperties: false properties: logo: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string type: type: string enum: - asset_reference workspace_defaults: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - workspace_defaults links: type: object additionalProperties: false required: - v2_request properties: v2_request: type: string format: uri meta: type: object required: - total - page - resource_type properties: resource_type: type: string total: type: integer page: type: object required: - limit - offset properties: limit: type: integer offset: type: integer example: data: - id: 4eea039c-3f5d-4f2d-baa3-126b2933a024 type: user attributes: created_at: '2020-06-03T13:21:40.615-07:00' email: cali@workwithopal.com first_name: Gaylene full_name: Gaylene Treutel is_active: true last_name: Treutel title: null transliterated_full_name: Gaylene Treutel updated_at: '2020-06-03T13:21:40.615-07:00' legacy_id: '30' role_name: opal_admin relationships: profile: data: id: 4eea039c-3f5d-4f2d-baa3-126b2933a024 type: user_profile workspaces: data: - id: 801ba99f-f5d1-441c-8cc7-fc61acc6a8f7 type: workspace links: v2_request: https://california.opaltesting.com/users/v2/30 meta: {} meta: resource_type: user total: 1 page: limit: 10 offset: 0 '400': description: Bad request content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string description: The http status code of the error response. title: type: string description: A short, human-readable summary of the error. detail: type: string description: A human-readable explanation of the error. code: type: string description: 'An system-readable error code to provide additional specificity for the error. ' required: - status '401': description: Unauthorized content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string description: The http status code of the error response. title: type: string description: A short, human-readable summary of the error. detail: type: string description: A human-readable explanation of the error. code: type: string description: 'An system-readable error code to provide additional specificity for the error. ' required: - status '422': description: Unprocessable entity content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string description: The http status code of the error response. title: type: string description: A short, human-readable summary of the error. detail: type: string description: A human-readable explanation of the error. code: type: string description: 'An system-readable error code to provide additional specificity for the error. ' required: - status servers: - url: https://login.ouropal.com /users/v3/users/{user_id}: get: tags: - Users operationId: ReadUserV3 summary: '[UNSTABLE] Get a specific user''s information.' security: - oauth2: - offline_access - api_key: [] parameters: - name: user_id in: path required: true schema: type: string format: uuid responses: '200': description: A User resource content: application/json: schema: type: object required: - data properties: data: title: user type: object required: - id - type - attributes - relationships - links additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - user meta: type: - object - 'null' description: Metadata around the User object properties: workspace_approval_counts: type: object description: Object representing the user's unseen approval counts per Workspace Id. attributes: type: object required: - created_at - email - first_name - full_name - is_active - last_name - title - transliterated_full_name - updated_at - legacy_id additionalProperties: false properties: created_at: type: string format: date-time description: An ISO8601 date-time. readOnly: true email: type: string first_name: type: string full_name: type: string is_active: type: - boolean - 'null' last_name: type: string role_name: type: string title: type: - string - 'null' transliterated_full_name: type: string feature_flags: type: object additionalProperties: type: boolean description: 'A named feature flag and `true` or `false` depending on whether the feature is enabled for the user or not. ' description: 'List of Feature Flags for this user, only available for the currently authenticated User. ' updated_at: type: string format: date-time description: An ISO8601 date-time indicating when the user was last updated. readOnly: true legacy_id: type: string description: An ID that can be used with `v2` APIs. relationships: type: object required: - profile - workspaces additionalProperties: false properties: profile: type: object required: - data additionalProperties: false properties: data: type: - object - 'null' required: - id - type additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - user_profile workspaces: type: object required: - data additionalProperties: false properties: data: type: array items: type: object required: - id - type additionalProperties: false properties: id: type: string format: uuid type: type: string enum: - workspace links: type: object additionalProperties: false required: - v2_request properties: v2_request: type: string format: uri example: data: id: 4eea039c-3f5d-4f2d-baa3-126b2933a024 type: user attributes: created_at: '2020-06-03T13:21:40.615-07:00' email: cali@workwithopal.com first_name: Gaylene full_name: Gaylene Treutel is_active: true last_name: Treutel title: null transliterated_full_name: Gaylene Treutel updated_at: '2020-06-03T13:21:40.615-07:00' legacy_id: '30' role_name: opal_admin relationships: profile: data: id: 4eea039c-3f5d-4f2d-baa3-126b2933a024 type: user_profile workspaces: data: - id: 801ba99f-f5d1-441c-8cc7-fc61acc6a8f7 type: workspace links: v2_request: https://california.opaltesting.com/users/v2/30 meta: {} '400': description: Bad request content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string description: The http status code of the error response. title: type: string description: A short, human-readable summary of the error. detail: type: string description: A human-readable explanation of the error. code: type: string description: 'An system-readable error code to provide additional specificity for the error. ' required: - status '401': description: Unauthorized content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string description: The http status code of the error response. title: type: string description: A short, human-readable summary of the error. detail: type: string description: A human-readable explanation of the error. code: type: string description: 'An system-readable error code to provide additional specificity for the error. ' required: - status '422': description: Unprocessable entity content: application/json: schema: type: object required: - errors properties: errors: type: array items: type: object properties: status: type: string description: The http status code of the error response. title: type: string description: A short, human-readable summary of the error. detail: type: string description: A human-readable explanation of the error. code: type: string description: 'An system-readable error code to provide additional specificity for the error. ' required: - status servers: - url: https://login.ouropal.com components: securitySchemes: oauth2: type: oauth2 description: This API uses OAuth 2.0 with the authorization code grant flow. You can find more detailed authentication instructions in the [Authentication Strategies](/api/documentation#section/Authentication-Strategies/OAuth-2.0) section. flows: authorizationCode: authorizationUrl: /oauth2/auth tokenUrl: /oauth2/token scopes: offline_access: Include this scope if you wish to receive a refresh token api_key: type: apiKey description: (Deprecated) This API also supports authentication via an API or session token set in the request headers. in: header name: Session-Token anonymous_oauth: type: oauth2 description: 'The OAuth 2.0 client credentials flow is used for secure server-server requests when Opal does not need to associate a request with a particular Opal user. These anonymous requests are instead authorized based on the OAuth scope. ' flows: clientCredentials: tokenUrl: /oauth/token scopes: write:onboarding: Include this scope if you wish to make API requests to onboard new Opals. presentation_share_cookie: type: apiKey description: 'A cookie set and read by the Monolith service that authorizes a non-opal user to view a presentation and the resources within it. Other services can rely on this cookie by asking Monolith to authenticate it. ' in: cookie name: share_token x-refined-from: - opal-v2-openapi.yml - opal-v3-openapi.yml x-tagGroups: - name: ⚠️ Unstable tags: - Plans - Blocks - Custom Fields - name: ℹ️ Proposed tags: - Moments - Smart Blocks - In Market - name: 🔮 Experimental tags: - Experimental