--- account_invitations: attributes: - id - full_name - email_address - headline - pending - permission - bill_rate_in_cents - cost_rate_in_cents - inviter_id - invitee_id create_attributes: - full_name - email_address - headline - permission - bill_rate_in_cents - cost_rate_in_cents - default_role_id - external_reference update_attributes: - permission - bill_rate_in_cents - cost_rate_in_cents - default_role_id associations: inviter: foreign_key: inviter_id collection: users invitee: foreign_key: invitee_id collection: users default_role: foreign_key: default_role_id collection: roles additional_items: attributes: - created_at - notes - amount_in_cents - taxable - currency account_memberships: attributes: - disabled_at - permission - is_administrator - is_project_lead - is_punch_clock_user - can_create_workspace - can_view_reports - bill_rate_in_cents - cost_rate_in_cents - manager_id - billability_target - should_show_alert_on_timesheet_submission update_attributes: - bill_rate_in_cents # bill_rate_in_cents is optional" - cost_rate_in_cents # cost_rate_in_cents is optional" - default_role_id # default_role_id is the internal ID of the role of this user on this account" - permission # permission is optional; it can be 'administrator', 'reports_viewer', 'project_lead', 'project_creator', 'punch_clock' or 'collaborator'" - manager_id - billability_target - should_show_alert_on_timesheet_submission associations: user: foreign_key: user_id collection: users default_role: foreign_key: default_role_id collection: roles cost_rates: foreign_key: cost_rate_ids collection: cost_rates backup_approver_associations: foreign_key: backup_approver_association_ids collection: backup_approver_associations assignments: attributes: - id # the unique identifier for this assignment object - created_at # the date the assignment was recorded in Mavenlink - updated_at # the date the assignment was last updated - current # whether or not the assignment is active - estimated_minutes # a user defined number of minutes that the user is expected to work on this story (task) - allocated_minutes # the calculated sum of the assignment's Story Allocation Day minutes - story_id # the id of the Story (Task) that owns the assignment - assignee_id # the id of the user who owns the assignment - story_allocation_day_ids # the ids of Story Allocation Days belonging to the assignment create_attributes: - story_id # (required) the ID of the Story for which the assignment will be created - assignee_id # (required) the ID of the User for which the assignment will be created - current # (optional) whether the assignment is active or not - estimated_minutes # (optional) the number of minutes that the user is expected to work on this story update_attributes: - current - estimated_minutes associations: # story - when included, the story_id will reference the story for which the assignment belongs # assignee - when included, the assignee_id will reference the user for which the assignment belongs # story_allocation_days - when included, the story_allocation_day_ids array will reference all of the # Story Allocation Days that belong to the assignment. # Including story allocation days requires the request to be filtered with the plannable filter story: foreign_key: story_id collection: stories assignee: foreign_key: assignee_id collection: users story_allocation_days: foreign_key: story_allocation_day_ids collection: story_allocation_days validations: [story_id, assignee_id]: presence: true 'on': create attachments: validations: [data, type]: presence: true type: inclusion: in: [post_attachment, receipt] attributes: - data - type create_attributes: - data - type cost_rates: attributes: - id - updated_at - created_at - currency - amount_in_subunits - in_use create_attributes: - currency - amount_in_subunits - account_membership_id associations: account_membership: foreign_key: account_membership_id collection: account_membership backup_approver_associations: attributes: - backup_approver_id - approver_id - start_date - end_date create_attributes: - backup_approver_id - approver_id - start_date - end_date associations: account_membership: foreign_key: account_membership_id collection: account_membership custom_fields: attributes: - id # the internal id of the custom field - name # the given field name - value_type # the types the Custom Field Values use defaulting to 'string'. The current types include: 'string', 'date', 'number', 'currency', 'single', and 'multi' - creator_id # the internal id of the User who created the custom field - default_text # the placeholder text - unique_constraint # an optional boolean constraint which forces the Custom Field Values' value to be unique across a subject_type. The default is false - choices # the choices only valid for a 'single' and 'multi' type custom fields - custom_field_set_id # the custom field set the field belongs in. All custom fields are contained in a custom field set which contain many sets. - write_access # the permission level required to create, update, and destroy values for this custom field - read_access # the permission level required to read values for this custom field - created_at # the date the CF was created - updated_at # the date the CF was last updated - values_count create_attributes: - name # (required) the given field name - value_type # (optional) the types the Custom Field Values use. The current types include: 'string', 'date', 'number', and 'currency' - default_text # (optional) the placeholder text - unique_constraint # (optional) a boolean constraint which forces the Custom Field Values' value to be unique across a subject_type. The default is false - choices # (optional) the choices a custom field may have and only valid for a 'single' and 'multi' type custom fields. eg. [{'label' => 'first choice'}, {'label' => 'another choice'}] - custom_field_set_id # (optional) the custom field set the custom field will belong to. If the custom_field_set_id is omitted this field will belong to a Workspace set named 'Default Project Set'. Note omitting the set id will restrict this field to only be applied to workspaces. - write_access - read_access update_attributes: - name # (required) the given field name - value_type - default_text # (optional) the placeholder text - unique_constraint - choices # choices may be updated through their CF's choices attribute. To change a choice's name, specify the id. To add new choices, do not specify and id. eg. [{'id' => '1', 'label' => 'new first choice name'}, {'label' => 'a brand new choice'}]. If a previous choice of the custom field is omitted, that choice will be soft deleted so that the values will not point to invalid choices. - custom_field_set_id - write_access # (optional) the permission level required for a user to create, update, or delete a custom field value for an object. - read_access # (optional) the permission level required to read a custom field value for an object. associations: creator: foreign_key: creator_id collection: users choices: foreign_key: choice_ids collection: custom_field_choices custom_field_values: attributes: - id # the internal custom field value id - subject_type # the type of entity the custom field value is associated with. Valid types include 'Workspace', 'Story', and 'User' - subject_id # the internal id of the entity type defined by the subject_type field - value # the value applied to the subject - display_value # the formatted version of the value - can_edit # whether the custom field value can be edited by the user that is logged-in. - type # the type of value. The Current valid values are: 'string', 'date', 'number', 'currency' 'single', and 'multi' - setter_id # the internal id of the User who has set value - account_id # the id of the account the custom field value is on - custom_field_id # the internal id of the associated custom field - custom_field_name # the name of the associated custom field - created_at # the date the custom field value was created in Mavenlink - updated_at # the date the custom field value was last updated create_attributes: - subject_type # (required) - subject_id # (required) - custom_field_id # (required) - value # (required) update_attributes: - value # (required) associations: setter: - foreign_key: setter_id - collection: users custom_field: - foreign_key: custom_field_id - collection: custom_fields custom_field_choices: attributes: - id - updated_at - created_at - label - custom_field_id associations: custom_field: - foreign_key: custom_field_id - collection: custom_fields expenses: validations: [workspace_id, date, category, amount_in_cents]: presence: true attributes: - id # the unique identifier for this expense object - created_at # the date the expense was recorded in Mavenlink - updated_at # the date the expense was last updated - date # the date the expense was incurred - notes # any notes added to the expense - category # the category of the expense, which can be any string. Built-in categories are: "Travel", "Mileage", "Lodging", "Food", "Entertainment", "Other" - amount_in_cents # the amount of the expense, in cents - currency # the currency of the expense - currency_symbol # the symbol that represents the currency of the expense - currency_base_unit # the number of the units in the amount_as_cents attribute that are required to make up a single unit of the currency - user_can_edit # can the viewing user edit this expense? - is_invoiced # has this expense been included on an invoice? - is_billable # is this a billable expense? - taxable - reimbursable - workspace_id # the id of the project Workspace this expense is associated with - user_id # the id of the user who created this expense - story_id - receipt_id # the id of an attached Receipt Attachment - expense_category_id # the id of its category - active_submission_id create_attributes: - workspace_id # (required) the ID of the Workspace in which the expense will be created - date # (required) the date of the expense in ISO8601 format - category # (required) the category of the expense as a string - amount_in_cents # the amount of the expense, expressed in cents - notes # freeform text related to the expense - user_id # the internal ID of the user the expense is associated with. This parameter is ignored unless the authorizing user has financial access in the workspace and is on the consultants team (or if the authorizing user is an account administrator and has proxy permissions via an account member with those permissions). - receipt_id - billable - story_id - expense_category_id # the id of its category - reimbursable - vendor_id - external_reference update_attributes: # NOTE(AC): check - date # (required) the date of the expense in ISO8601 format - category # (required) the category of the expense as a string - amount_in_cents # the amount of the expense, expressed in cents - notes # freeform text related to the expense - user_id # the internal ID of the user the expense is associated with. This parameter is ignored unless the authorizing user has financial access in the workspace and is on the consultants team (or if the authorizing user is an account administrator and has proxy permissions via an account member with those permissions). - receipt_id - billable - story_id - expense_category_id # the id of its category - external_reference associations: workspace: foreign_key: workspace_id collection: workspaces user: foreign_key: user_id collection: users receipt: foreign_key: receipt_id collection: attachments story: foreign_key: story_id collection: stories expense_category: foreign_key: expense_category_id collection: expense_categories external_references: foreign_key: external_reference_ids collection: external_references active_submission: foreign_key: active_submission_id collection: active_submissions role: foreign_key: role_id collection: roles vendor: foreign_key: vendor_id collection: vendors expense_categories: attributes: - id - name - deleted_at create_attributes: - name update_attributes: - name validations: name: presence: true expense_report_submissions: attributes: - id - created_at - updated_at - status - title - comment - type - resolution_description - line_item_total_formatted - line_item_total_in_cents - currency - currency_symbol - currency_base_unit - current_resolution_description - current_resolution_creator_id - current_resolution_created_at_date - expense_ids - resolution_ids create_attributes: - title - comment - workspace_id - user_id - line_item_ids associations: user: foreign_key: user_id collection: users workspace: foreign_key: workspace_id collection: workspaces expenses: foreign_key: expense_ids collection: expenses resolutions: foreign_key: resolution_ids collection: resolutions external_payments: attributes: - id - created_at - updated_at - user_id - amount_in_cents - message - invoice_id - workspace_id create_attributes: - amount_in_cents - message - invoice_id - workspace_id associations: user: foreign_key: user_id collection: users workspace: foreign_key: workspace_id collection: workspaces invoice: foreign_key: invoice_id collection: invoices fixed_fee_items: attributes: - id - created_at - notes - amount_in_cents - taxable - currency - story_id - workspace_id external_references: attributes: - service_name - service_model - service_model_ref - subject_id - subject_type - status - external_link - external_message - external_status - locked create_or_update_attributes: - service_name - service_model - service_model_ref - subject_id - subject_type - status - external_link - external_message - external_status - locked validations: [service_model_ref, service_model, service_name, subject_id, subject_type]: presence: true holidays: attributes: - name - start_date - end_date - paid - total_hours - calendar_names_list create_attributes: - name - start_date - end_date - paid - holiday_calendar_ids update_attributes: - name - start_date - end_date - paid - holiday_calendar_ids associations: holiday_calendar_associations: foreign_key: holiday_calendar_association_ids collection: holiday_calendar_associations holiday_calendars: attributes: - name - default - active_user_count create_attributes: - name update_attributes: - name holiday_calendar_associations: attributes: - holiday_calendar_name - holiday_name create_attributes: - holiday_id - holiday_calendar_id associations: holiday: foreign_key: holiday_id collection: holidays holiday_calendar: foreign_key: holiday_calendar_id collection: holiday_calendars holiday_calendar_memberships: attributes: - user_id - created_at - start_date - end_date - in_use create_attributes: - holiday_calendar_id - user_id - start_date update_attributes: - holiday_calendar_id - start_date associations: holiday_calendar: foreign_key: holiday_calendar_id collection: holiday_calendars user: foreign_key: user_id collection: users invoices: attributes: - id # the internal invoice id - created_at # the date the invoice was recorded in Mavenlink, format: YY-MM-DD[T]HH:MM:SS-TIMEZONE - updated_at # the date the invoice was last updated, format: YY-MM-DD[T]HH:MM:SS-TIMEZONE - invoice_date # the date the invoice was incurred, format: YYYY-MM-DD - due_date # the date the invoice is due, format: YYYY-MM-DD - message # any notes added to the invoice - title # A string of the format "(Draft )Invoice #" - draft # whether the invoice is a draft or not - status # the current status of the invoice - balance_in_cents # the balance of invoice in cents - currency # the currency of this invoice - currency_symbol # the symbol that represents the currency of the invoice - currency_base_unit # the number of the units in the balance_in_cents attribute that are required to make up a single unit of the currency - payment_schedule # the payment schedule (i.e. 30) in days of this invoice - workspace_ids # the internal ids of the project workspaces this invoice is associated with - user_id # the internal id of the user who created this invoice - recipient_id # the internal id of the user who received this invoice; this will be the client lead at the time that the invoice was created, or null if no lead client existed at that time. - user_invoice_title - user_invoice_number - tax_rate - purchase_order - project_code create_attributes: - time_entry_ids # (required) An array of time entry IDs to associate with the invoice - expense_ids # (required) An array of expense IDs to associate with the invoice - workspace_id # (required) The ID of the workspace this invoice is associated with - payment_schedule # (required) The payment schedule (i.e. 30) in days of this invoice - invoice_date # The date the invoice was incurred, format: YYYY-MM-DD# - user_invoice_number # - user_invoice_title # - draft # Whether the invoice is a draft or not - message # Any notes added to the invoice - purchase_order # A string - project_code # A string - fixed_fee_items # Nested params for FixedFeeItem - additional_items # Nested params for AdditionalItem - suppress_emails - tax_rate update_attributes: - expense_ids # (required) - time_entry_ids # (required) - payment_schedule - user_invoice_number - draft - message - user_invoice_title - purchase_order - project_code associations: # time_entries - when included, the time_entry_ids array will reference all of the time entries included in the Invoice time_entries: foreign_key: time_entry_ids collection: time_entries # expenses - when included, the expense_ids array will reference all of the expenses included in the Invoice expenses: foreign_key: expense_ids collection: expenses additional_items: foreign_key: additional_item_ids collection: additional_items fixed_fee_items: foreign_key: fixed_fee_item_ids collection: fixed_fee_items # NOTE(AC): ? additional_items - when included, the additional_item_ids array will reference all of the additional items (additional invoice line items) included in the Invoice # workspaces - when included, the workspace_ids array will reference the workspaces that this Invoice covers workspaces: foreign_key: workspace_ids collection: workspaces # user - user_id will reference the User who created this Invoice user: foreign_key: user_id collection: users # recipient - recipient_id will reference the User who received this Invoice. This will be the client lead at the time that the invoice was created, or null if no lead client existed at that time. recipient: foreign_key: recipient_id collection: users organizations: attributes: - id - name - type - parent_id - ancestor_ids create_attributes: - name - parent_id update_attributes: - name - parent_id organization_memberships: attributes: - id - member_id - member_type create_attributes: - geography_id - department_id - member_id - member_type associations: geography: foreign_key: geography_id collection: organizations department: foreign_key: department_id collection: organizations participations: attributes: - id - role - is_team_lead - active_role - estimated_workspace_minutes - allocated_workspace_minutes - user_id - workspace_id - workspace_role_id create_attributes: - workspace_id # (required) - role # (required) either `maven` or `buyer` - user_id # (required) update_attributes: - team_lead # (required) boolean to set the team lead on the workspace associations: user: foreign_key: user_id collection: users workspace: foreign_key: workspace_id collection: workspaces role: foreign_key: workspace_role_id collection: roles posts: attributes: - id # the internal id of the post - newest_reply_at # the date of the newest reply - message # the message of the post - has_attachment # whether the post has any attachments - created_at # the date the post was created - updated_at # the date the post was last updated - reply_count # the number of replies to the post - private # whether this post is private - user_id # the internal id of the user who made the post - workspace_id # the internal id of the project workspace this post is associated with - workspace_type # the class name of the workspace - reply # whether this post is a reply - subject_id # if this post is a reply, the internal id of the parent post or object being replied to - subject_type # the class name of the object being replied to - story_id # the internal id of the story that this post is linked to - google_documents # NOTE: NOT AN ASSOCIATION? create_attributes: - message # - (required) the content to be created in the new post - workspace_id # - (required) the ID of the Workspace in which the post will be created - subject_id # - (optional, required for replies) the ID of the item the new post is replying to if it is a reply - subject_type # - (optional, required for replies) the type of the item the new post is replying to; accepted values are Post - story_id # - (optional) the ID of the Story (task) that the new post should be linked to - recipient_ids # - (optional) an array of User IDs for whom the post is visible. These users must be participating in the target Workspace and including this parameter will make the post private - attachment_ids # - (optional) an array of PostAttachment IDs that should be associated with the post. Create PostAttachments using the attachments endpoint. update_attributes: - message - story_id validations: [message, workspace_id]: presence: true associations: # subject - when you include this association, posts that are replies will have a subject_id key referencing their parent post in the posts top-level key subject: foreign_key: subject_id collection: posts # user - the user object of the post creator, returned in the users top-level key user: foreign_key: user_id collection: users # workspace - the workspace (project) that owns this post, returned in the workspaces top-level key workspace: foreign_key: workspace_id collection: workspaces # story - linked story (task), returned in the stories top-level key story: foreign_key: story_id collection: stories # replies - replies to this post, returned in the posts top-level key; posts will contain a reply_ids array replies: foreign_key: reply_ids collection: posts # newest_reply - newest reply to this post, available in newest_reply_id and returned in the posts top-level key newest_reply: foreign_key: newest_reply_id collection: posts # newest_reply_user- user of the newest reply to this post, available in newest_reply_user_id and returned in the users top-level key newest_reply_user: foreign_key: newest_reply_user_id collection: users # recipients - on private posts, the recipient_ids array contains the ids of recipients, returned in the users top-level key recipients: foreign_key: recipient_ids collection: users # NOTE(?) google_documents - the post's google document objects, available in google_document_ids and returned in the google_documents top-level key # attachments - file attachments, available in attachment_ids and returned in the attachments top-level key attachments: foreign_key: attachment_ids collection: attachments project_templates: attributes: - id # the internal project template ID - title # the title of the project template - shared # whether or not the project template is shared with other users on the account other than the creator - is_budgeted # whether or not the project template has financial attributes including overall budget, story budgets, and story time estimates - budget # the estimated overall budget of the project associated with the template - item_count # the number of stories (tasks) inside the project template - duration # the estimated number of days that the associated project will take - currency # the currency of the project template - description # the description of the project template which does not map over to the project description when applied - user_id # the id of the user who created the project template - raw_json # (Optional Field) a json hash that contains all the project templates tasks - See below for explanation on optional fields and go to the bottom for and explanation on the raw_json field create_attributes: - title # (required) the title of the new project template - description # the description of the project template - raw_json # (optional) a json hash that contains all the project templates tasks - shared # (optional) whether or not the project template is shared with other users on the account other than the creator (default: false) - is_budgeted # (optional) whether or not the project template has financial attributes including overall budget, story budgets, and story time estimates (default: false) - budget # (optional) the estimated overall budget of the project associated with the template - currency # (optional) the currency of the project template (default: 'USD') - duration # (optional) the estimated number of days that the associated project will take update_attributes: - title # (required) the title of the new project template - description # the description of the project template - raw_json # (optional) a json hash that contains all the project templates tasks - shared # (optional) whether or not the project template is shared with other users on the account other than the creator (default: false) - is_budgeted # (optional) whether or not the project template has financial attributes including overall budget, story budgets, and story time estimates (default: false) - budget # (optional) the estimated overall budget of the project associated with the template - currency # (optional) the currency of the project template (default: 'USD') - duration # (optional) the estimated number of days that the associated project will take associations: user: foreign_key: user_id collection: users project_template_assignments: foreign_key: project_template_assignment_ids collection: project_template_assignments project_template_assignments: associations: project_template: foreign_key: project_template_id collection: project_templates attributes: - id - name rate_cards: associations: rate_card_set: foreign_key: rate_card_set_id collection: rate_card_sets rate_card_versions: foreign_key: rate_card_version_ids collection: rate_card_versions effective_rate_card_version: foreign_key: effective_rate_card_version_id collection: rate_card_versions attributes: - currency - uses - id - rate_card_set_id - rate_card_version_ids create_attributes: - rate_card_set_id - rate_card_set_version_id - currency update_attributes: - currency rate_card_sets: associations: rate_cards: foriegn_key: rate_card_ids collection: rate_cards rate_card_set_versions: foreign_key: rate_card_set_version_ids collection: rate_card_set_versions attributes: - id - title - account_default - active_currencies - default_currencies - destroyable create_attributes: - clone_version_id - title update_attributes: - title rate_card_set_versions: associations: rate_card_set: foreign_key: rate_card_set_id collection: rate_card_sets rate_card_versions: foreign_key: rate_card_version_ids collection: rate_card_versions attributes: - id - active - effective_date - used_currencies create_attributes: - rate_card_set_id - effective_date update_attributes: - effective_date rate_card_versions: associations: rate_card: foreign_key: rate_card_id collection: rate_cards rate_card_set_version: foreign_key: rate_card_set_version_id collection: rate_card_set_versions rate_card_roles: foreign_key: rate_card_role_ids collection: rate_card_roles attributes: - id - default_rate create_attributes: - default_rate update_attributes: - default_rate rate_card_roles: associations: role: foreign_key: role_id collection: roles rate_card_version: foreign_key: rate_card_version_id collection: rate_card_versions attributes: - id - rate create_attributes: - rate_card_version_id - role_id - rate update_attributes: - rate resolutions: attributes: - id - type - created_at - updated_at - description - target_type - target_id - user_id roles: attributes: - id - name create_attributes: - name update_attributes: - name validations: name: presence: true skills: associations: skill_category: foreign_key: skill_category_id collection: skill_categories roles: foreign_key: role_ids collection: roles attributes: - name - max_level - description - user_count create_attributes: - skill_category_id - name - max_level - description - role_ids update_attributes: - skill_category_id - name - max_level - description - role_ids skill_categories: associations: skills: foreign_key: skill_ids collection: skills attributes: - name skill_memberships: associations: skill: foreign_key: skill_id collection: skills user: foreign_key: user_id collection: users creator: foreign_key: creator_id collection: users attributes: - level - max_level - created_at - updated_at - cached_skill_name create_attributes: - skill_id - user_id - level update_attributes: - level status_reports: associations: workspace: foreign_key: workspace_id collection: workspaces creator: foreign_key: creator_id collection: users attributes: - color - description - details - created_at - updated_at create_attributes: - workspace_id - creator_id - description - color - details update_attributes: - color - description - details stories: # tasks associations: # workspace - the workspace (project) that owns this story, returned in the workspaces top-level key # parent - when you include this association, stories that are sub-stories will have a parent_id key referencing their parent story in the stories top-level key # assignees - an array of User IDs called assignee_ids that contains the users assigned to this story, returned in the users top-level key # followers - an array of User IDs called folllower_ids that contains the users following this story, returned in the users top-level key # sub_stories - sub-stories of this story, returned in the stories top-level key; stories will contain a sub_story_ids array # tags - an array of Tag IDs returned in the tags top-level key; stories will contain a tag_ids array workspace: foreign_key: workspace_id collection: workspaces parent: foreign_key: parent_id collection: stories assignees: foreign_key: assignee_ids collection: users followers: foreign_key: follower_ids collection: users sub_stories: foreign_key: sub_story_ids collection: stories tags: #NOTE(SZ) moved in read-only attributes foreign_key: tag_ids collection: tags story_tasks: foreign_key: story_task_ids collection: story_tasks descendants: foreign_key: descendant_ids collection: stories custom_field_values: foreign_key: custom_field_value_ids collection: custom_field_values external_references: foreign_key: external_reference_ids collection: external_references attributes: - id # the internal story id - workspace_id # the internal id for the workspace of the story - parent_id # the internal story id of a story's parent story (only for sub-stories) - billable # whether or not the task is billable - title # the title of the story - assignee_ids # an array of User IDs that are assigned to the story - description # a user provided description of the story - story_type # the story's type (task, deliverable, or milestone) - priority # the integer value of the priority for a task - state # the current state of the story (started, not started, or completed) - position # a number corresponding to the story's order relative to all other stories - archived # the archived status of the story (true of false) - deleted_at # the date the story was deleted - updated_at # the date the story was last updated - created_at # the date the story was created in Mavenlink - due_date # the due date given to the story - start_date # the start date given to the story - sub_story_count # the number of sub-stories under this story - budget_estimate_in_cents # the budget for the story in cents (integer). Only present if the Workspace has budgets enabled and the authenticated user can view budget information. - sub_stories_budget_estimate_in_cents # the budget for the sub-stories in cents (integer). Only present if the Workspace has budgets enabled and the authenticated user can view budget information. - budget_used_in_cents # the value of all time entries logged against this story (integer). Only present if the Workspace has budgets enabled and the authenticated user can view budget information. - sub_stories_budget_used_in_cents # the value of all sub-stories' time entries logged against this story (integer). Only present if the Workspace has budgets enabled and the authenticated user can view budget information. - time_estimate_in_minutes # the time estimate for the story in minutes (integer). Only present if the Workspace has budgets enabled and the authenticated user can view time information. - sub_stories_time_estimate_in_minutes # the time estimate for the sub-stories in minutes (integer). Only present if the Workspace has budgets enabled and the authenticated user can view time information. - logged_billable_time_in_minutes # the sum of all billable time logged against this story (integer). Only present if the Workspace has budgets enabled and the authenticated user can view time information. - sub_stories_billable_time_in_minutes # the sum of all sub-stories' billable time logged against this story (integer). Only present if the Workspace has budgets enabled and the authenticated user can view time information. - logged_nonbillable_time_in_minutes # the sum of all non-billable time logged against this story (integer). Only present if the Workspace has budgets enabled and the authenticated user can view time information. - fixed_fee # whether or not the story is fixed fee - root_id # the id of its parent. It is nil if a top level story - descendant_ids # an array of Story ids for it's descendants - custom_field_value_ids # an array of Custom Field Value ids which are attached to the story - percentage_complete - checklist # an array of checklist items (optional) - weight # integer representing the weight of the story. Can only be set on a parent-level milestone by a consultant with at least budget permissions (optional) - external_reference_ids create_attributes: - title # (required) the title of the story # max 200 characters - story_type # (required) the type of the story: task, deliverable, or milestone - workspace_id # (required) the ID of the Workspace in which the story will be created - description # (optional) a description of the new story # max 1000 characters - parent_id # (optional) represents the parent of this story, making this a sub-story - start_date # (optional) the date the story should be started; format should look like YYYY-MM-DD - archived # (optional) the archived status of the story (true or false) - due_date # (optional) the date the story is due; format should look like YYYY-MM-DD - assignee_ids # (optional) an array of User IDs that the new story should be assigned to - budget_estimate_in_cents # (optional) the budget in cents of the new story (integer). This is only valid in budgeted Workspaces and if the user can view budget information - time_estimate_in_minutes # (optional) the time estimate in minutes of the new story (integer). This is only valid in budgeted Workspaces and if the user can view budget information - tag_list # (optional) a comma separated String of tags - billable # whether or not the task is billable - percentage_complete # (optional) a number (0-100) representing the stage of the story - state # (optional) the state of the story: not started, started or completed - sub_stories # (optional) sub stories to be created with the parent - fixed_fee # whether or not the story is fixed fee - checklist # an array of checklist items (optional) - weight # integer representing the weight of the story. Can only be set on a parent-level milestone by a consultant with at least budget permissions (optional) - priority # the integer value of the priority for a task - external_reference update_attributes: - title # (required) the title of the story # max 200 characters - story_type # (required) the type of the story: task, deliverable, or milestone - description # (optional) a description of the new story # max 1000 characters - parent_id # (optional) represents the parent of this story, making this a sub-story - start_date # (optional) the date the story should be started; format should look like YYYY-MM-DD - archived # (optional) the archived status of the story (true or false) - due_date # (optional) the date the story is due; format should look like YYYY-MM-DD - assignee_ids # (optional) an array of User IDs that the new story should be assigned to - budget_estimate_in_cents # (optional) the budget in cents of the new story (integer). This is only valid in budgeted Workspaces and if the user can view budget information - time_estimate_in_minutes # (optional) the time estimate in minutes of the new story (integer). This is only valid in budgeted Workspaces and if the user can view budget information - tag_list # (optional) a comma separated String of tags - billable # whether or not the task is billable - percentage_complete # (optional) a number (0-100) representing the stage of the story - state # (optional) the state of the story: not started, started or completed - fixed_fee # whether or not the story is fixed fee - weight # integer representing the weight of the story. Can only be set on a parent-level milestone by a consultant with at least budget permissions (optional) - priority # the integer value of the priority for a task - external_reference story_allocation_days: attributes: - id # the unique identifier for this story allocation day object - updated_at # the date the story allocation day was last updated - date # the date of the story allocation day - minutes # the minutes allocated to the story allocation day - current # a calculated attribute that indicates whether or not the story allocation day's assignment is active - assignment_id # the id of the assignment that owns the story allocation day - story_id # the id of the story who owns the story allocation day's assignment - workspace_id # the id of the workspace who owns the story allocation day's assignment create_attributes: - assignment_id # required - date # required - minutes # required update_attributes: - minutes associations: # assignment - when included, the assignment_id will reference the assignment for which the story allocation day belongs # story - when included, the story_id will reference the story for which the story allocation day belongs # workspace - when included, the workspace_id will reference the workspace for which the story allocation day belongs assignment: foreign_key: assignment_id collection: assignments story: foreign_key: story_id collection: stories workspace: foreign_key: workspace_id collection: workspaces story_dependencies: validations: [source_id, target_id]: presence: true workspace_id: presence: true 'on': create attributes: - id - dependency_type - lag - source_id - target_id create_attributes: - workspace_id - source_id - target_id - dependency_type - lag update_attributes: - dependency_type - lag associations: source: foreign_key: source_id collection: stories target: foreign_key: target_id collection: stories story_tasks: associations: story: foreign_key: story_id collection: stories attributes: - id - name - completed - completed_at - position - completed_by_id - story_id tags: attributes: - id - name - status create_attributes: - name time_adjustments: associations: story: foreign_key: story_id collection: stories workspace: foreign_key: workspace_id collection: workspaces user: foreign_key: user_id collection: users creator: foreign_key: creator_id collection: users active_invoice: foreign_key: active_invoice_id collection: invoices attributes: - id - original_date - bill_rate_in_cents - billable - cost_rate_in_cents - currency - currency_symbol - currency_base_unit - is_invoiced - notes - posted_on_date - taxable - time - created_at - updated_at create_attributes: - workspace_id - user_id - original_date - bill_rate_in_cents - billable - cost_rate_in_cents - currency - posted_on_date - time - notes - story_id update_attributes: - workspace_id - user_id - original_date - bill_rate_in_cents - billable - cost_rate_in_cents - currency - posted_on_date - time - notes - story_id time_entries: associations: workspace: foreign_key: workspace_id collection: workspaces user: foreign_key: user_id collection: users story: foreign_key: story_id collection: stories role: foreign_key: role_id collection: roles validations: [workspace_id, date_performed, time_in_minutes]: presence: true attributes: - id # the internal time entry ID - created_at # the date the time entry was created in Mavenlink - updated_at # the date the time entry was last updated - date_performed # the date the time entry was performed - story_id # the internal story ID of the story this time entry is associated with - time_in_minutes # the amount of time entered in minutes - billable # whether this time entry is billable time - notes # any notes added to the time entry - rate_in_cents # the hourly rate for this time entry in cents - cost_rate_in_cents - currency # the currency of this time entry's rate - currency_symbol # the currency symbol for this time entry's currency - currency_base_unit # the amount of cents in each of the currency's dollars, for example 100 for USD. - user_can_edit # whether the current user can edit this time entry or not - workspace_id # the internal ID of the project workspace this time entry is associated with - user_id # the internal ID of the user who created this time entry - approved # whether or not the time entry has been approved - role_id # The internal ID of the Role that is associated with this time entry - external_reference # Object representing the status of integration synchronization - location create_attributes: - workspace_id # (required) the internal ID of the project workspace this time entry is associated with - date_performed # (required) the date the activity for which the time is being entered was performed, format: YYYY-MM-DD - time_in_minutes # (required) the amount of time entered in minutes - billable # (optional) whether this time entry is billable time, you must also provide rate_in_cents if you set billable to true - notes # (optional) any notes added to the time entry - rate_in_cents # (optional, required if billable is true) the hourly rate for this time entry in cents, you must also set billable to true when setting this - cost_rate_in_cents - story_id # (optional) the internal ID of the story this time entry is associated with - user_id # (optional) the internal ID of the user the time entry is associated with. This parameter is ignored unless the authorizing user has financial access in the workspace and is on the consultants team (or if the authorizing user is an account administrator and has proxy permissions via an account member with those permissions). - external_reference # (optional) the object representing the status of integration synchronization. - location update_attributes: - date_performed # (required) the date the activity for which the time is being entered was performed, format: YYYY-MM-DD - time_in_minutes # (required) the amount of time entered in minutes - billable # (optional) whether this time entry is billable time, you must also provide rate_in_cents if you set billable to true - notes # (optional) any notes added to the time entry - rate_in_cents # (optional, required if billable is true) the hourly rate for this time entry in cents, you must also set billable to true when setting this - cost_rate_in_cents - story_id # (optional) the internal ID of the story this time entry is associated with - user_id # (optional) the internal ID of the user the time entry is associated with. This parameter is ignored unless the authorizing user has financial access in the workspace and is on the consultants team (or if the authorizing user is an account administrator and has proxy permissions via an account member with those permissions). - external_reference # (optional) the object representing the status of integration synchronization. time_off_entries: attributes: - id - user_id - hours - requested_date - submission_date create_attributes: - user_id - hours - requested_date update_attributes: - hours associations: user: foreign_key: user_id collection: users timesheet_submissions: attributes: - id - start_date - end_date - created_at - updated_at - status - title - comment - type - resolution_description - line_item_total_formatted - line_item_total_in_cents - currency - currency_symbol - currency_base_unit - current_resolution_description - current_resolution_creator_id - current_resolution_created_at_date - time_entry_ids - resolution_ids create_attributes: - title - comment - workspace_id - user_id - line_item_ids associations: user: foreign_key: user_id collection: users workspace: foreign_key: workspace_id collection: workspaces time_entries: foreign_key: time_entry_ids collection: time_entries resolutions: foreign_key: resolution_ids collection: resolutions users: attributes: - id - user_id # the internal ID of the user - full_name # the full name of the user - photo_path # the full url to the user's thumbnail - email_address # the user's primary email address - headline # the short description of the user as found in the user's profile update_attributes: - full_name - headline - email_address - external_reference associations: role: foreign_key: role_id collection: roles account_membership: foreign_key: account_membership_id collection: account_memberships external_references: foreign_key: external_reference_ids collection: external_references vendors: attributes: - id - name - in_use create_attributes: - name update_attributes: - name validations: name: presence: true workspaces: validations: title: presence: true creator_role: inclusion: 'on': create in: [maven, buyer] allow_blank: false associations: primary_counterpart: foreign_key: primary_counterpart_id collection: users participants: foreign_key: participant_ids collection: users participations: foreign_key: participation_ids collection: participations creator: foreign_key: creator_id collection: users workspace_groups: foreign_key: workspace_group_ids collection: workspace_groups primary_maven: foreign_key: primary_maven_id collection: users external_references: foreign_key: external_reference_ids collection: external_references status_reports: foreign_key: status_report_ids collection: status_reports approver: foreign_key: approver_id collection: users attributes: - id # the internal expense ID - title # the title of the project - archived # whether the project is archived - description # the description of the project - due_date # the due date of the project - effective_due_date # effective due date of the project - budgeted # whether the project is budgeted - change_orders_enabled # whether change orders are enabled in the project - updated_at # the date the project was last updated - created_at # the date the project was created - consultant_role_name # the name of the provider role for the project - client_role_name # the name of the customer role for the project - can_create_line_items # whether you can create line items in this workspace - default_rate # the default billing rate for this project - currency_symbol # the currency symbol of the currency of this project - currency_base_unit # the currency base unit of the currency of this project (i.e. USD is 100) - can_invite # whether you can invite others to the workspace - has_budget_access # whether you have budget access in this project - price # the budget for this project, only included if the current user has financial access in the workspace - price_in_cents # the project budget in cents, only included if the current user has financial access in the workspace - budget_used # the amount of the project budget already burned, only included if the current user has financial access in the workspace - over_budget # whether the project is over budget, only included if the current user has financial access in the workspace - currency # the currency of the project, only included if the current user has financial access in the workspace - start_date # the start date of the project - status # a hash with information about the status of the project (color, message, key) - stories_are_fixed_fee_by_default # whether stories default to Fixed Fee or T&M - workspace_invoice_preference_id - require_expense_approvals - require_time_approvals - percentage_complete - access_level - status_key - workspace_group_ids - target_margin create_attributes: - title - creator_role - budgeted - description - currency - price - start_date - due_date - change_orders - consultant_role_name - client_role_name - access_level - project_tracker_template_id - change_orders_enabled - expenses_in_burn_rate - posts_require_privacy_decision - stories_are_fixed_fee_by_default - rate_card_id - custom_fields - require_expense_approvals - require_time_approvals - project_template_start_date - project_template_assignment_mappings - project_template_weekends_as_workdays - status_key - external_reference - workspace_group_ids - approver_id - target_margin - tasks_default_non_billable update_attributes: - title - budgeted - description - archived - access_level - price - start_date - due_date - posts_require_privacy_decision - tasks_default_non_billable - expenses_in_burn_rate - rate_card_id - client_role_name - consultant_role_name - stories_are_fixed_fee_by_default - currency - target_margin - approver_id - change_orders_enabled - project_template_start_date - project_template_assignment_mappings - project_template_weekends_as_workdays - project_tracker_template_id - project_template_before_story_id - status_key - external_reference - workspace_group_ids workspace_invoice_preferences: attributes: - id - workspace_id - purchase_order - project_code - client_invoice_name - client_invoice_address - consultant_invoice_name - consultant_invoice_address create_attributes: - workspace_id # required - project_code # optional - purchase_order # optional - client_invoice_name # optional - client_invoice_address # optional - consultant_invoice_name # optional - consultant_invoice_address # optional update_attributes: - project_code # optional - purchase_order # optional - client_invoice_name # optional - client_invoice_address # optional - consultant_invoice_name # optional - consultant_invoice_address # optional workspace_groups: attributes: - id # the internal workspace group ID - name # the name of the workspace group - company # whether the workspace group represents a company - contact_name - email - phone_number - address - website - notes create_attributes: - name - company - add_workspace_ids - company - contact_name - email - phone_number - address - website - notes - external_reference update_attributes: - name - company - add_workspace_ids - remove_workspace_ids - company - contact_name - email - phone_number - address - website - notes - external_reference validations: name: presence: true company: inclusion: in: [true, false] associations: workspaces: foreign_key: workspace_ids collection: workspaces external_references: foreign_key: external_reference_ids collection: external_references workweeks: attributes: - default - start_date - end_date - sunday_minutes - monday_minutes - tuesday_minutes - wednesday_minutes - thursday_minutes - friday_minutes - saturday_minutes - total_minutes create_attributes: - start_date - sunday_minutes - monday_minutes - tuesday_minutes - wednesday_minutes - thursday_minutes - friday_minutes - saturday_minutes update_attributes: - start_date - sunday_minutes - monday_minutes - tuesday_minutes - wednesday_minutes - thursday_minutes - friday_minutes - saturday_minutes workweek_memberships: attributes: - user_id - start_date - end_date create_attributes: - user_id - start_date - sunday_minutes - monday_minutes - tuesday_minutes - wednesday_minutes - thursday_minutes - friday_minutes - saturday_minutes update_attributes: - start_date - sunday_minutes - monday_minutes - tuesday_minutes - wednesday_minutes - thursday_minutes - friday_minutes - saturday_minutes