# Create an allocation
Source: https://docs.ruddr.io/api-reference/allocations/create-an-allocation
openapi.json POST /allocations
A resource allocation for a member or placeholder.
# Delete an allocation
Source: https://docs.ruddr.io/api-reference/allocations/delete-an-allocation
openapi.json DELETE /allocations/{id}
A resource allocation for a member or placeholder.
# Get allocation dates
Source: https://docs.ruddr.io/api-reference/allocations/get-allocation-dates
openapi.json GET /allocations/{id}/dates
A resource allocation for a member or placeholder.
# Get an allocation
Source: https://docs.ruddr.io/api-reference/allocations/get-an-allocation
openapi.json GET /allocations/{id}
A resource allocation for a member or placeholder.
# List allocations
Source: https://docs.ruddr.io/api-reference/allocations/list-allocations
openapi.json GET /allocations
A resource allocation for a member or placeholder.
# Update an allocation
Source: https://docs.ruddr.io/api-reference/allocations/update-an-allocation
openapi.json PATCH /allocations/{id}
A resource allocation for a member or placeholder.
# Create an availability period
Source: https://docs.ruddr.io/api-reference/availability-periods/create-an-availability-period
openapi.json POST /availability-periods
A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time.
# Delete an availability period
Source: https://docs.ruddr.io/api-reference/availability-periods/delete-an-availability-period
openapi.json DELETE /availability-periods/{id}
A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time.
# Get an availability period
Source: https://docs.ruddr.io/api-reference/availability-periods/get-an-availability-period
openapi.json GET /availability-periods/{id}
A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time.
# List availability periods
Source: https://docs.ruddr.io/api-reference/availability-periods/list-availability-periods
openapi.json GET /availability-periods
A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time.
# Update an availability period
Source: https://docs.ruddr.io/api-reference/availability-periods/update-an-availability-period
openapi.json PATCH /availability-periods/{id}
A period defining a member's expected working hours. Members may not be full-time, and their availability can change over time.
# Create a business unit
Source: https://docs.ruddr.io/api-reference/business-units/create-a-business-unit
openapi.json POST /business-units
A named organizational unit used to configure invoice settings and group clients and projects.
# Delete a business unit
Source: https://docs.ruddr.io/api-reference/business-units/delete-a-business-unit
openapi.json DELETE /business-units/{id}
A named organizational unit used to configure invoice settings and group clients and projects.
# Get a business unit
Source: https://docs.ruddr.io/api-reference/business-units/get-a-business-unit
openapi.json GET /business-units/{id}
A named organizational unit used to configure invoice settings and group clients and projects.
# List business units
Source: https://docs.ruddr.io/api-reference/business-units/list-business-units
openapi.json GET /business-units
A named organizational unit used to configure invoice settings and group clients and projects.
# Update a business unit
Source: https://docs.ruddr.io/api-reference/business-units/update-a-business-unit
openapi.json PATCH /business-units/{id}
A named organizational unit used to configure invoice settings and group clients and projects.
# Create a standalone client role
Source: https://docs.ruddr.io/api-reference/client-roles/create-a-client-role
openapi.json POST /client-roles
Create a standalone client role with custom billing terms. To create a client role linked to a workspace role, use `POST /client-roles/link` instead.
A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields.
# Delete a client role
Source: https://docs.ruddr.io/api-reference/client-roles/delete-a-client-role
openapi.json DELETE /client-roles/{id}
A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields.
# Get a client role
Source: https://docs.ruddr.io/api-reference/client-roles/get-a-client-role
openapi.json GET /client-roles/{id}
A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields.
# Link a client role to a workspace role
Source: https://docs.ruddr.io/api-reference/client-roles/link-a-client-role
openapi.json POST /client-roles/link
Create a client role linked to a workspace role. All billing and classification fields are automatically populated from the workspace role.
A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields.
# List client roles
Source: https://docs.ruddr.io/api-reference/client-roles/list-client-roles
openapi.json GET /client-roles
A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields.
# Update a client role
Source: https://docs.ruddr.io/api-reference/client-roles/update-a-client-role
openapi.json PATCH /client-roles/{id}
Linked client roles (where `workspaceRole` is not `null`) cannot be modified and will return a 409 ReadOnlyError. Delete and recreate to change linking.
A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role's name, billing, and classification fields.
# Create a client tag
Source: https://docs.ruddr.io/api-reference/client-tags/create-a-client-tag
openapi.json POST /client-tags
A custom attribute that can be assigned to clients and used to filter reports.
# Delete a client tag
Source: https://docs.ruddr.io/api-reference/client-tags/delete-a-client-tag
openapi.json DELETE /client-tags/{id}
A custom attribute that can be assigned to clients and used to filter reports.
# Get a client tag
Source: https://docs.ruddr.io/api-reference/client-tags/get-a-client-tag
openapi.json GET /client-tags/{id}
A custom attribute that can be assigned to clients and used to filter reports.
# List client tags
Source: https://docs.ruddr.io/api-reference/client-tags/list-client-tags
openapi.json GET /client-tags
A custom attribute that can be assigned to clients and used to filter reports.
# Update a client tag
Source: https://docs.ruddr.io/api-reference/client-tags/update-a-client-tag
openapi.json PATCH /client-tags/{id}
A custom attribute that can be assigned to clients and used to filter reports.
# Create a client
Source: https://docs.ruddr.io/api-reference/clients/create-a-client
openapi.json POST /clients
A person or organization using your services. All projects are tied to a client.
# Delete a client
Source: https://docs.ruddr.io/api-reference/clients/delete-a-client
openapi.json DELETE /clients/{id}
A person or organization using your services. All projects are tied to a client.
# Get a client
Source: https://docs.ruddr.io/api-reference/clients/get-a-client
openapi.json GET /clients/{id}
A person or organization using your services. All projects are tied to a client.
# List clients
Source: https://docs.ruddr.io/api-reference/clients/list-clients
openapi.json GET /clients
A person or organization using your services. All projects are tied to a client.
# Update a client
Source: https://docs.ruddr.io/api-reference/clients/update-a-client
openapi.json PATCH /clients/{id}
A person or organization using your services. All projects are tied to a client.
# Create a company
Source: https://docs.ruddr.io/api-reference/companies/create-a-company
openapi.json POST /companies
An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts.
# Delete a company
Source: https://docs.ruddr.io/api-reference/companies/delete-a-company
openapi.json DELETE /companies/{id}
An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts.
# Get a company
Source: https://docs.ruddr.io/api-reference/companies/get-a-company
openapi.json GET /companies/{id}
An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts.
# List companies
Source: https://docs.ruddr.io/api-reference/companies/list-companies
openapi.json GET /companies
An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts.
# Update a company
Source: https://docs.ruddr.io/api-reference/companies/update-a-company
openapi.json PATCH /companies/{id}
An organization with which you have a history of communication or business, such as a potential client or partner. Each company can be linked to one or more contacts.
# Create a company spend tier
Source: https://docs.ruddr.io/api-reference/company-spend-tiers/create-a-company-spend-tier
openapi.json POST /company-spend-tiers
A tier used to categorize companies based on their annual spend.
# Delete a company spend tier
Source: https://docs.ruddr.io/api-reference/company-spend-tiers/delete-a-company-spend-tier
openapi.json DELETE /company-spend-tiers/{id}
A tier used to categorize companies based on their annual spend.
# Get a company spend tier
Source: https://docs.ruddr.io/api-reference/company-spend-tiers/get-a-company-spend-tier
openapi.json GET /company-spend-tiers/{id}
A tier used to categorize companies based on their annual spend.
# List company spend tiers
Source: https://docs.ruddr.io/api-reference/company-spend-tiers/list-company-spend-tiers
openapi.json GET /company-spend-tiers
A tier used to categorize companies based on their annual spend.
# Update a company spend tier
Source: https://docs.ruddr.io/api-reference/company-spend-tiers/update-a-company-spend-tier
openapi.json PATCH /company-spend-tiers/{id}
A tier used to categorize companies based on their annual spend.
# Create a company type
Source: https://docs.ruddr.io/api-reference/company-types/create-a-company-type
openapi.json POST /company-types
A classification used to categorize companies within the pipeline.
# Delete a company type
Source: https://docs.ruddr.io/api-reference/company-types/delete-a-company-type
openapi.json DELETE /company-types/{id}
A classification used to categorize companies within the pipeline.
# Get a company type
Source: https://docs.ruddr.io/api-reference/company-types/get-a-company-type
openapi.json GET /company-types/{id}
A classification used to categorize companies within the pipeline.
# List company types
Source: https://docs.ruddr.io/api-reference/company-types/list-company-types
openapi.json GET /company-types
A classification used to categorize companies within the pipeline.
# Update a company type
Source: https://docs.ruddr.io/api-reference/company-types/update-a-company-type
openapi.json PATCH /company-types/{id}
A classification used to categorize companies within the pipeline.
# Create a contact tag
Source: https://docs.ruddr.io/api-reference/contact-tags/create-a-contact-tag
openapi.json POST /contact-tags
A custom attribute that can be assigned to contacts and used to filter reports.
# Delete a contact tag
Source: https://docs.ruddr.io/api-reference/contact-tags/delete-a-contact-tag
openapi.json DELETE /contact-tags/{id}
A custom attribute that can be assigned to contacts and used to filter reports.
# Get a contact tag
Source: https://docs.ruddr.io/api-reference/contact-tags/get-a-contact-tag
openapi.json GET /contact-tags/{id}
A custom attribute that can be assigned to contacts and used to filter reports.
# List contact tags
Source: https://docs.ruddr.io/api-reference/contact-tags/list-contact-tags
openapi.json GET /contact-tags
A custom attribute that can be assigned to contacts and used to filter reports.
# Update a contact tag
Source: https://docs.ruddr.io/api-reference/contact-tags/update-a-contact-tag
openapi.json PATCH /contact-tags/{id}
A custom attribute that can be assigned to contacts and used to filter reports.
# Create a contact
Source: https://docs.ruddr.io/api-reference/contacts/create-a-contact
openapi.json POST /contacts
A person associated with a client, company, or opportunity in your workspace.
# Delete a contact
Source: https://docs.ruddr.io/api-reference/contacts/delete-a-contact
openapi.json DELETE /contacts/{id}
A person associated with a client, company, or opportunity in your workspace.
# Get a contact
Source: https://docs.ruddr.io/api-reference/contacts/get-a-contact
openapi.json GET /contacts/{id}
A person associated with a client, company, or opportunity in your workspace.
# List contacts
Source: https://docs.ruddr.io/api-reference/contacts/list-contacts
openapi.json GET /contacts
A person associated with a client, company, or opportunity in your workspace.
# Update a contact
Source: https://docs.ruddr.io/api-reference/contacts/update-a-contact
openapi.json PATCH /contacts/{id}
A person associated with a client, company, or opportunity in your workspace.
# Create a cost period
Source: https://docs.ruddr.io/api-reference/cost-periods/create-a-cost-period
openapi.json POST /cost-periods
A period defining the per-hour labor and overhead costs for a member.
# Delete a cost period
Source: https://docs.ruddr.io/api-reference/cost-periods/delete-a-cost-period
openapi.json DELETE /cost-periods/{id}
A period defining the per-hour labor and overhead costs for a member.
# Get a cost period
Source: https://docs.ruddr.io/api-reference/cost-periods/get-a-cost-period
openapi.json GET /cost-periods/{id}
A period defining the per-hour labor and overhead costs for a member.
# List cost periods
Source: https://docs.ruddr.io/api-reference/cost-periods/list-cost-periods
openapi.json GET /cost-periods
A period defining the per-hour labor and overhead costs for a member.
# Update a cost period
Source: https://docs.ruddr.io/api-reference/cost-periods/update-a-cost-period
openapi.json PATCH /cost-periods/{id}
A period defining the per-hour labor and overhead costs for a member.
# Get a credit note
Source: https://docs.ruddr.io/api-reference/credit-notes/get-a-credit-note
openapi.json GET /credit-notes/{id}
A document issued to reduce the amount owed by a client on a previous invoice.
# List credit notes
Source: https://docs.ruddr.io/api-reference/credit-notes/list-credit-notes
openapi.json GET /credit-notes
A document issued to reduce the amount owed by a client on a previous invoice.
# Create a discipline
Source: https://docs.ruddr.io/api-reference/disciplines/create-a-discipline
openapi.json POST /disciplines
A grouping of common capabilities within the organization.
# Delete a discipline
Source: https://docs.ruddr.io/api-reference/disciplines/delete-a-discipline
openapi.json DELETE /disciplines/{id}
A grouping of common capabilities within the organization.
# Get a discipline
Source: https://docs.ruddr.io/api-reference/disciplines/get-a-discipline
openapi.json GET /disciplines/{id}
A grouping of common capabilities within the organization.
# List disciplines
Source: https://docs.ruddr.io/api-reference/disciplines/list-disciplines
openapi.json GET /disciplines
A grouping of common capabilities within the organization.
# Update a discipline
Source: https://docs.ruddr.io/api-reference/disciplines/update-a-discipline
openapi.json PATCH /disciplines/{id}
A grouping of common capabilities within the organization.
# Create an exchange rate period
Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/create-an-exchange-rate-period
openapi.json POST /exchange-rate-periods
A custom exchange rate for a specific date range, overriding the default workspace exchange rates.
# Delete an exchange rate period
Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/delete-an-exchange-rate-period
openapi.json DELETE /exchange-rate-periods/{id}
A custom exchange rate for a specific date range, overriding the default workspace exchange rates.
# Get an exchange rate period
Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/get-an-exchange-rate-period
openapi.json GET /exchange-rate-periods/{id}
A custom exchange rate for a specific date range, overriding the default workspace exchange rates.
# List exchange rate periods
Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/list-exchange-rate-periods
openapi.json GET /exchange-rate-periods
A custom exchange rate for a specific date range, overriding the default workspace exchange rates.
# Update an exchange rate period
Source: https://docs.ruddr.io/api-reference/exchange-rate-periods/update-an-exchange-rate-period
openapi.json PATCH /exchange-rate-periods/{id}
A custom exchange rate for a specific date range, overriding the default workspace exchange rates.
# Get exchange rates
Source: https://docs.ruddr.io/api-reference/exchange-rate/get-exchange-rates
openapi.json GET /exchange-rate
Get the list of exchange rates for a date and source currency.
The exchange rates for the workspace's currencies.
# Create an expense category
Source: https://docs.ruddr.io/api-reference/expense-categories/create-an-expense-category
openapi.json POST /expense-categories
A category assigned to expense items. Can also be used to build expense budgets for projects.
# Delete an expense category
Source: https://docs.ruddr.io/api-reference/expense-categories/delete-an-expense-category
openapi.json DELETE /expense-categories/{id}
A category assigned to expense items. Can also be used to build expense budgets for projects.
# Get an expense category
Source: https://docs.ruddr.io/api-reference/expense-categories/get-an-expense-category
openapi.json GET /expense-categories/{id}
A category assigned to expense items. Can also be used to build expense budgets for projects.
# List expense categories
Source: https://docs.ruddr.io/api-reference/expense-categories/list-expense-categories
openapi.json GET /expense-categories
A category assigned to expense items. Can also be used to build expense budgets for projects.
# Update an expense category
Source: https://docs.ruddr.io/api-reference/expense-categories/update-an-expense-category
openapi.json PATCH /expense-categories/{id}
A category assigned to expense items. Can also be used to build expense budgets for projects.
# Create an expense item
Source: https://docs.ruddr.io/api-reference/expense-items/create-an-expense-item
openapi.json POST /expense-items
A purchased product or service recorded for reimbursement or project billing.
# Delete an expense item
Source: https://docs.ruddr.io/api-reference/expense-items/delete-an-expense-item
openapi.json DELETE /expense-items/{id}
A purchased product or service recorded for reimbursement or project billing.
# Get an expense item
Source: https://docs.ruddr.io/api-reference/expense-items/get-an-expense-item
openapi.json GET /expense-items/{id}
A purchased product or service recorded for reimbursement or project billing.
# List expense items
Source: https://docs.ruddr.io/api-reference/expense-items/list-expense-items
openapi.json GET /expense-items
A purchased product or service recorded for reimbursement or project billing.
# Update an expense item
Source: https://docs.ruddr.io/api-reference/expense-items/update-an-expense-item
openapi.json PATCH /expense-items/{id}
A purchased product or service recorded for reimbursement or project billing.
# Create an expense report
Source: https://docs.ruddr.io/api-reference/expense-reports/create-an-expense-report
openapi.json POST /expense-reports
A container for expense items. This helps group expenses for a specific purpose.
# Delete an expense report
Source: https://docs.ruddr.io/api-reference/expense-reports/delete-an-expense-report
openapi.json DELETE /expense-reports/{id}
A container for expense items. This helps group expenses for a specific purpose.
# Get an expense report
Source: https://docs.ruddr.io/api-reference/expense-reports/get-an-expense-report
openapi.json GET /expense-reports/{id}
A container for expense items. This helps group expenses for a specific purpose.
# List expense reports
Source: https://docs.ruddr.io/api-reference/expense-reports/list-expense-reports
openapi.json GET /expense-reports
A container for expense items. This helps group expenses for a specific purpose.
# Update an expense report
Source: https://docs.ruddr.io/api-reference/expense-reports/update-an-expense-report
openapi.json PATCH /expense-reports/{id}
A container for expense items. This helps group expenses for a specific purpose.
# Create a holiday schedule
Source: https://docs.ruddr.io/api-reference/holiday-schedules/create-a-holiday-schedule
openapi.json POST /holiday-schedules
A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region.
# Delete a holiday schedule
Source: https://docs.ruddr.io/api-reference/holiday-schedules/delete-a-holiday-schedule
openapi.json DELETE /holiday-schedules/{id}
A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region.
# Get a holiday schedule
Source: https://docs.ruddr.io/api-reference/holiday-schedules/get-a-holiday-schedule
openapi.json GET /holiday-schedules/{id}
A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region.
# List holiday schedules
Source: https://docs.ruddr.io/api-reference/holiday-schedules/list-holiday-schedules
openapi.json GET /holiday-schedules
A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region.
# Update a holiday schedule
Source: https://docs.ruddr.io/api-reference/holiday-schedules/update-a-holiday-schedule
openapi.json PATCH /holiday-schedules/{id}
A named set of holidays that can be applied to workspace members. This allows different holiday observances per country or region.
# Create a holiday
Source: https://docs.ruddr.io/api-reference/holidays/create-a-holiday
openapi.json POST /holidays
A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays.
# Delete a holiday
Source: https://docs.ruddr.io/api-reference/holidays/delete-a-holiday
openapi.json DELETE /holidays/{id}
A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays.
# Get a holiday
Source: https://docs.ruddr.io/api-reference/holidays/get-a-holiday
openapi.json GET /holidays/{id}
A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays.
# List holidays
Source: https://docs.ruddr.io/api-reference/holidays/list-holidays
openapi.json GET /holidays
A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays.
# Update a holiday
Source: https://docs.ruddr.io/api-reference/holidays/update-a-holiday
openapi.json PATCH /holidays/{id}
A day off that can be added to a holiday schedule. Ruddr includes several built-in standard holidays, and you can also create custom holidays.
# Create an industry
Source: https://docs.ruddr.io/api-reference/industries/create-an-industry
openapi.json POST /industries
A classification that can be assigned to clients and used to filter reports.
# Delete an industry
Source: https://docs.ruddr.io/api-reference/industries/delete-an-industry
openapi.json DELETE /industries/{id}
A classification that can be assigned to clients and used to filter reports.
# Get an industry
Source: https://docs.ruddr.io/api-reference/industries/get-an-industry
openapi.json GET /industries/{id}
A classification that can be assigned to clients and used to filter reports.
# List industries
Source: https://docs.ruddr.io/api-reference/industries/list-industries
openapi.json GET /industries
A classification that can be assigned to clients and used to filter reports.
# Update an industry
Source: https://docs.ruddr.io/api-reference/industries/update-an-industry
openapi.json PATCH /industries/{id}
A classification that can be assigned to clients and used to filter reports.
# Create an invoice item
Source: https://docs.ruddr.io/api-reference/invoice-items/create-an-invoice-item
openapi.json POST /invoice-items
A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item.
# Delete an invoice item
Source: https://docs.ruddr.io/api-reference/invoice-items/delete-an-invoice-item
openapi.json DELETE /invoice-items/{id}
A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item.
# Get an invoice item
Source: https://docs.ruddr.io/api-reference/invoice-items/get-an-invoice-item
openapi.json GET /invoice-items/{id}
A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item.
# List invoice items
Source: https://docs.ruddr.io/api-reference/invoice-items/list-invoice-items
openapi.json GET /invoice-items
A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item.
# Update an invoice item
Source: https://docs.ruddr.io/api-reference/invoice-items/update-an-invoice-item
openapi.json PATCH /invoice-items/{id}
A charge category assigned to invoice line items, such as "Service" or "Expense". Every line item on an invoice must have an invoice item.
# Get an invoice
Source: https://docs.ruddr.io/api-reference/invoices/get-an-invoice
openapi.json GET /invoices/{id}
A document sent to request payment for goods or services.
# List invoices
Source: https://docs.ruddr.io/api-reference/invoices/list-invoices
openapi.json GET /invoices
A document sent to request payment for goods or services.
# Create a job title
Source: https://docs.ruddr.io/api-reference/job-titles/create-a-job-title
openapi.json POST /job-titles
A title that can be assigned to workspace members and used to filter reports.
# Delete a job title
Source: https://docs.ruddr.io/api-reference/job-titles/delete-a-job-title
openapi.json DELETE /job-titles/{id}
A title that can be assigned to workspace members and used to filter reports.
# Get a job title
Source: https://docs.ruddr.io/api-reference/job-titles/get-a-job-title
openapi.json GET /job-titles/{id}
A title that can be assigned to workspace members and used to filter reports.
# List job titles
Source: https://docs.ruddr.io/api-reference/job-titles/list-job-titles
openapi.json GET /job-titles
A title that can be assigned to workspace members and used to filter reports.
# Update a job title
Source: https://docs.ruddr.io/api-reference/job-titles/update-a-job-title
openapi.json PATCH /job-titles/{id}
A title that can be assigned to workspace members and used to filter reports.
# Create a location
Source: https://docs.ruddr.io/api-reference/locations/create-a-location
openapi.json POST /locations
A physical or logical location used to organize service offerings and personnel.
# Delete a location
Source: https://docs.ruddr.io/api-reference/locations/delete-a-location
openapi.json DELETE /locations/{id}
A physical or logical location used to organize service offerings and personnel.
# Get a location
Source: https://docs.ruddr.io/api-reference/locations/get-a-location
openapi.json GET /locations/{id}
A physical or logical location used to organize service offerings and personnel.
# List locations
Source: https://docs.ruddr.io/api-reference/locations/list-locations
openapi.json GET /locations
A physical or logical location used to organize service offerings and personnel.
# Update a location
Source: https://docs.ruddr.io/api-reference/locations/update-a-location
openapi.json PATCH /locations/{id}
A physical or logical location used to organize service offerings and personnel.
# Create a member certification
Source: https://docs.ruddr.io/api-reference/member-certifications/create-a-member-certification
openapi.json POST /member-certifications
A certification or credential that can be assigned to members.
# Delete a member certification
Source: https://docs.ruddr.io/api-reference/member-certifications/delete-a-member-certification
openapi.json DELETE /member-certifications/{id}
A certification or credential that can be assigned to members.
# Get a member certification
Source: https://docs.ruddr.io/api-reference/member-certifications/get-a-member-certification
openapi.json GET /member-certifications/{id}
A certification or credential that can be assigned to members.
# List member certifications
Source: https://docs.ruddr.io/api-reference/member-certifications/list-member-certifications
openapi.json GET /member-certifications
A certification or credential that can be assigned to members.
# Update a member certification
Source: https://docs.ruddr.io/api-reference/member-certifications/update-a-member-certification
openapi.json PATCH /member-certifications/{id}
A certification or credential that can be assigned to members.
# Create a member level
Source: https://docs.ruddr.io/api-reference/member-levels/create-a-member-level
openapi.json POST /member-levels
A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead).
# Delete a member level
Source: https://docs.ruddr.io/api-reference/member-levels/delete-a-member-level
openapi.json DELETE /member-levels/{id}
A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead).
# Get a member level
Source: https://docs.ruddr.io/api-reference/member-levels/get-a-member-level
openapi.json GET /member-levels/{id}
A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead).
# List member levels
Source: https://docs.ruddr.io/api-reference/member-levels/list-member-levels
openapi.json GET /member-levels
A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead).
# Update a member level
Source: https://docs.ruddr.io/api-reference/member-levels/update-a-member-level
openapi.json PATCH /member-levels/{id}
A seniority level that can be assigned to workspace members (for example, Associate, Senior, or Lead).
# Create a member tag
Source: https://docs.ruddr.io/api-reference/member-tags/create-a-member-tag
openapi.json POST /member-tags
A custom attribute that can be assigned to members and used to filter reports.
# Delete a member tag
Source: https://docs.ruddr.io/api-reference/member-tags/delete-a-member-tag
openapi.json DELETE /member-tags/{id}
A custom attribute that can be assigned to members and used to filter reports.
# Get a member tag
Source: https://docs.ruddr.io/api-reference/member-tags/get-a-member-tag
openapi.json GET /member-tags/{id}
A custom attribute that can be assigned to members and used to filter reports.
# List member tags
Source: https://docs.ruddr.io/api-reference/member-tags/list-member-tags
openapi.json GET /member-tags
A custom attribute that can be assigned to members and used to filter reports.
# Update a member tag
Source: https://docs.ruddr.io/api-reference/member-tags/update-a-member-tag
openapi.json PATCH /member-tags/{id}
A custom attribute that can be assigned to members and used to filter reports.
# Create a member
Source: https://docs.ruddr.io/api-reference/members/create-a-member
openapi.json POST /members
A person that belongs to your workspace.
# Delete a member
Source: https://docs.ruddr.io/api-reference/members/delete-a-member
openapi.json DELETE /members/{id}
A person that belongs to your workspace.
# Get a member
Source: https://docs.ruddr.io/api-reference/members/get-a-member
openapi.json GET /members/{id}
A person that belongs to your workspace.
# Invite a member
Source: https://docs.ruddr.io/api-reference/members/invite-a-member
openapi.json POST /members/{id}/invite
Sends a workspace invitation email to the member. The member must have `loginEnabled` set to `true` and must not have already accepted the invitation. Rate limited to once every 5 minutes per member.
A person that belongs to your workspace.
# List members
Source: https://docs.ruddr.io/api-reference/members/list-members
openapi.json GET /members
A person that belongs to your workspace.
# Update a member
Source: https://docs.ruddr.io/api-reference/members/update-a-member
openapi.json PATCH /members/{id}
A person that belongs to your workspace.
# Create an opportunity
Source: https://docs.ruddr.io/api-reference/opportunities/create-an-opportunity
openapi.json POST /opportunities
A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date.
# Delete an opportunity
Source: https://docs.ruddr.io/api-reference/opportunities/delete-an-opportunity
openapi.json DELETE /opportunities/{id}
A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date.
# Get an opportunity
Source: https://docs.ruddr.io/api-reference/opportunities/get-an-opportunity
openapi.json GET /opportunities/{id}
A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date.
# List opportunities
Source: https://docs.ruddr.io/api-reference/opportunities/list-opportunities
openapi.json GET /opportunities
A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date.
# Update an opportunity
Source: https://docs.ruddr.io/api-reference/opportunities/update-an-opportunity
openapi.json PATCH /opportunities/{id}
A potential business deal within a company, typically with an associated revenue value and sales details like stage, owner, probability, and expected close date.
# Create an opportunity lead source
Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/create-an-opportunity-lead-source
openapi.json POST /opportunity-lead-sources
A classification for tracking how an opportunity was sourced.
# Delete an opportunity lead source
Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/delete-an-opportunity-lead-source
openapi.json DELETE /opportunity-lead-sources/{id}
A classification for tracking how an opportunity was sourced.
# Get an opportunity lead source
Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/get-an-opportunity-lead-source
openapi.json GET /opportunity-lead-sources/{id}
A classification for tracking how an opportunity was sourced.
# List opportunity lead sources
Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/list-opportunity-lead-sources
openapi.json GET /opportunity-lead-sources
A classification for tracking how an opportunity was sourced.
# Update an opportunity lead source
Source: https://docs.ruddr.io/api-reference/opportunity-lead-sources/update-an-opportunity-lead-source
openapi.json PATCH /opportunity-lead-sources/{id}
A classification for tracking how an opportunity was sourced.
# Create an opportunity pipeline
Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/create-an-opportunity-pipeline
openapi.json POST /opportunity-pipelines
A pipeline used to categorize and track opportunities through different stages.
# Delete an opportunity pipeline
Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/delete-an-opportunity-pipeline
openapi.json DELETE /opportunity-pipelines/{id}
A pipeline used to categorize and track opportunities through different stages.
# Get an opportunity pipeline
Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/get-an-opportunity-pipeline
openapi.json GET /opportunity-pipelines/{id}
A pipeline used to categorize and track opportunities through different stages.
# List opportunity pipelines
Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/list-opportunity-pipelines
openapi.json GET /opportunity-pipelines
A pipeline used to categorize and track opportunities through different stages.
# Update an opportunity pipeline
Source: https://docs.ruddr.io/api-reference/opportunity-pipelines/update-an-opportunity-pipeline
openapi.json PATCH /opportunity-pipelines/{id}
A pipeline used to categorize and track opportunities through different stages.
# Create an opportunity stage
Source: https://docs.ruddr.io/api-reference/opportunity-stages/create-an-opportunity-stage
openapi.json POST /opportunity-stages
A stage in the sales process used to track the progress of an opportunity.
# Delete an opportunity stage
Source: https://docs.ruddr.io/api-reference/opportunity-stages/delete-an-opportunity-stage
openapi.json DELETE /opportunity-stages/{id}
A stage in the sales process used to track the progress of an opportunity.
# Get an opportunity stage
Source: https://docs.ruddr.io/api-reference/opportunity-stages/get-an-opportunity-stage
openapi.json GET /opportunity-stages/{id}
A stage in the sales process used to track the progress of an opportunity.
# List opportunity stages
Source: https://docs.ruddr.io/api-reference/opportunity-stages/list-opportunity-stages
openapi.json GET /opportunity-stages
A stage in the sales process used to track the progress of an opportunity.
# Update an opportunity stage
Source: https://docs.ruddr.io/api-reference/opportunity-stages/update-an-opportunity-stage
openapi.json PATCH /opportunity-stages/{id}
A stage in the sales process used to track the progress of an opportunity.
# Create an opportunity tag
Source: https://docs.ruddr.io/api-reference/opportunity-tags/create-an-opportunity-tag
openapi.json POST /opportunity-tags
A custom attribute that can be assigned to opportunities and used to filter reports.
# Delete an opportunity tag
Source: https://docs.ruddr.io/api-reference/opportunity-tags/delete-an-opportunity-tag
openapi.json DELETE /opportunity-tags/{id}
A custom attribute that can be assigned to opportunities and used to filter reports.
# Get an opportunity tag
Source: https://docs.ruddr.io/api-reference/opportunity-tags/get-an-opportunity-tag
openapi.json GET /opportunity-tags/{id}
A custom attribute that can be assigned to opportunities and used to filter reports.
# List opportunity tags
Source: https://docs.ruddr.io/api-reference/opportunity-tags/list-opportunity-tags
openapi.json GET /opportunity-tags
A custom attribute that can be assigned to opportunities and used to filter reports.
# Update an opportunity tag
Source: https://docs.ruddr.io/api-reference/opportunity-tags/update-an-opportunity-tag
openapi.json PATCH /opportunity-tags/{id}
A custom attribute that can be assigned to opportunities and used to filter reports.
# Create an opportunity type
Source: https://docs.ruddr.io/api-reference/opportunity-types/create-an-opportunity-type
openapi.json POST /opportunity-types
A classification used to categorize opportunities.
# Delete an opportunity type
Source: https://docs.ruddr.io/api-reference/opportunity-types/delete-an-opportunity-type
openapi.json DELETE /opportunity-types/{id}
A classification used to categorize opportunities.
# Get an opportunity type
Source: https://docs.ruddr.io/api-reference/opportunity-types/get-an-opportunity-type
openapi.json GET /opportunity-types/{id}
A classification used to categorize opportunities.
# List opportunity types
Source: https://docs.ruddr.io/api-reference/opportunity-types/list-opportunity-types
openapi.json GET /opportunity-types
A classification used to categorize opportunities.
# Update an opportunity type
Source: https://docs.ruddr.io/api-reference/opportunity-types/update-an-opportunity-type
openapi.json PATCH /opportunity-types/{id}
A classification used to categorize opportunities.
# Create a payment method
Source: https://docs.ruddr.io/api-reference/payment-methods/create-a-payment-method
openapi.json POST /payment-methods
A method of payment that can be assigned to payments (for example, Check, Wire, or ACH).
# Delete a payment method
Source: https://docs.ruddr.io/api-reference/payment-methods/delete-a-payment-method
openapi.json DELETE /payment-methods/{id}
A method of payment that can be assigned to payments (for example, Check, Wire, or ACH).
# Get a payment method
Source: https://docs.ruddr.io/api-reference/payment-methods/get-a-payment-method
openapi.json GET /payment-methods/{id}
A method of payment that can be assigned to payments (for example, Check, Wire, or ACH).
# List payment methods
Source: https://docs.ruddr.io/api-reference/payment-methods/list-payment-methods
openapi.json GET /payment-methods
A method of payment that can be assigned to payments (for example, Check, Wire, or ACH).
# Update a payment method
Source: https://docs.ruddr.io/api-reference/payment-methods/update-a-payment-method
openapi.json PATCH /payment-methods/{id}
A method of payment that can be assigned to payments (for example, Check, Wire, or ACH).
# Get a payment
Source: https://docs.ruddr.io/api-reference/payments/get-a-payment
openapi.json GET /payments/{id}
A client's payment towards one or more invoices.
# List payments
Source: https://docs.ruddr.io/api-reference/payments/list-payments
openapi.json GET /payments
A client's payment towards one or more invoices.
# Create a pipeline activity
Source: https://docs.ruddr.io/api-reference/pipeline-activities/create-a-pipeline-activity
openapi.json POST /pipeline-activities
A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities.
# Delete a pipeline activity
Source: https://docs.ruddr.io/api-reference/pipeline-activities/delete-a-pipeline-activity
openapi.json DELETE /pipeline-activities/{id}
A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities.
# Get a pipeline activity
Source: https://docs.ruddr.io/api-reference/pipeline-activities/get-a-pipeline-activity
openapi.json GET /pipeline-activities/{id}
A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities.
# List pipeline activities
Source: https://docs.ruddr.io/api-reference/pipeline-activities/list-pipeline-activities
openapi.json GET /pipeline-activities
A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities.
# Update a pipeline activity
Source: https://docs.ruddr.io/api-reference/pipeline-activities/update-a-pipeline-activity
openapi.json PATCH /pipeline-activities/{id}
A pipeline activity, such as a call, email, or meeting, associated with one or more companies, contacts, members, and opportunities.
# Create a pipeline activity type
Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/create-a-pipeline-activity-type
openapi.json POST /pipeline-activity-types
A classification for activities that occur during the sales process.
# Delete a pipeline activity type
Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/delete-a-pipeline-activity-type
openapi.json DELETE /pipeline-activity-types/{id}
A classification for activities that occur during the sales process.
# Get a pipeline activity type
Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/get-a-pipeline-activity-type
openapi.json GET /pipeline-activity-types/{id}
A classification for activities that occur during the sales process.
# List pipeline activity types
Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/list-pipeline-activity-types
openapi.json GET /pipeline-activity-types
A classification for activities that occur during the sales process.
# Update a pipeline activity type
Source: https://docs.ruddr.io/api-reference/pipeline-activity-types/update-a-pipeline-activity-type
openapi.json PATCH /pipeline-activity-types/{id}
A classification for activities that occur during the sales process.
# Create a practice
Source: https://docs.ruddr.io/api-reference/practices/create-a-practice
openapi.json POST /practices
A functional area used to group service offerings and personnel within the organization.
# Delete a practice
Source: https://docs.ruddr.io/api-reference/practices/delete-a-practice
openapi.json DELETE /practices/{id}
A functional area used to group service offerings and personnel within the organization.
# Get a practice
Source: https://docs.ruddr.io/api-reference/practices/get-a-practice
openapi.json GET /practices/{id}
A functional area used to group service offerings and personnel within the organization.
# List practices
Source: https://docs.ruddr.io/api-reference/practices/list-practices
openapi.json GET /practices
A functional area used to group service offerings and personnel within the organization.
# Update a practice
Source: https://docs.ruddr.io/api-reference/practices/update-a-practice
openapi.json PATCH /practices/{id}
A functional area used to group service offerings and personnel within the organization.
# Create a project budget expense
Source: https://docs.ruddr.io/api-reference/project-budget-expenses/create-a-project-budget-expense
openapi.json POST /project-budget-expenses
The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated".
# Delete a project budget expense
Source: https://docs.ruddr.io/api-reference/project-budget-expenses/delete-a-project-budget-expense
openapi.json DELETE /project-budget-expenses/{id}
The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated".
# Get a project budget expense
Source: https://docs.ruddr.io/api-reference/project-budget-expenses/get-a-project-budget-expense
openapi.json GET /project-budget-expenses/{id}
The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated".
# List project budget expenses
Source: https://docs.ruddr.io/api-reference/project-budget-expenses/list-project-budget-expenses
openapi.json GET /project-budget-expenses
The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated".
# Update a project budget expense
Source: https://docs.ruddr.io/api-reference/project-budget-expenses/update-a-project-budget-expense
openapi.json PATCH /project-budget-expenses/{id}
The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either "detailed" or "aggregated".
# Create a project budget other item
Source: https://docs.ruddr.io/api-reference/project-budget-other-items/create-a-project-budget-other-item
openapi.json POST /project-budget-other-items
The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Delete a project budget other item
Source: https://docs.ruddr.io/api-reference/project-budget-other-items/delete-a-project-budget-other-item
openapi.json DELETE /project-budget-other-items/{id}
The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Get a project budget other item
Source: https://docs.ruddr.io/api-reference/project-budget-other-items/get-a-project-budget-other-item
openapi.json GET /project-budget-other-items/{id}
The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# List project budget other items
Source: https://docs.ruddr.io/api-reference/project-budget-other-items/list-project-budget-other-items
openapi.json GET /project-budget-other-items
The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Update a project budget other item
Source: https://docs.ruddr.io/api-reference/project-budget-other-items/update-a-project-budget-other-item
openapi.json PATCH /project-budget-other-items/{id}
The budget for a miscellaneous invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Create a project budget product item
Source: https://docs.ruddr.io/api-reference/project-budget-product-items/create-a-project-budget-product-item
openapi.json POST /project-budget-product-items
The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Delete a project budget product item
Source: https://docs.ruddr.io/api-reference/project-budget-product-items/delete-a-project-budget-product-item
openapi.json DELETE /project-budget-product-items/{id}
The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Get a project budget product item
Source: https://docs.ruddr.io/api-reference/project-budget-product-items/get-a-project-budget-product-item
openapi.json GET /project-budget-product-items/{id}
The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# List project budget product items
Source: https://docs.ruddr.io/api-reference/project-budget-product-items/list-project-budget-product-items
openapi.json GET /project-budget-product-items
The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Update a project budget product item
Source: https://docs.ruddr.io/api-reference/project-budget-product-items/update-a-project-budget-product-item
openapi.json PATCH /project-budget-product-items/{id}
The budget for a product invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Create a project budget service item
Source: https://docs.ruddr.io/api-reference/project-budget-service-items/create-a-project-budget-service-item
openapi.json POST /project-budget-service-items
The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Delete a project budget service item
Source: https://docs.ruddr.io/api-reference/project-budget-service-items/delete-a-project-budget-service-item
openapi.json DELETE /project-budget-service-items/{id}
The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Get a project budget service item
Source: https://docs.ruddr.io/api-reference/project-budget-service-items/get-a-project-budget-service-item
openapi.json GET /project-budget-service-items/{id}
The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# List project budget service items
Source: https://docs.ruddr.io/api-reference/project-budget-service-items/list-project-budget-service-items
openapi.json GET /project-budget-service-items
The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Update a project budget service item
Source: https://docs.ruddr.io/api-reference/project-budget-service-items/update-a-project-budget-service-item
openapi.json PATCH /project-budget-service-items/{id}
The budget for an additional service invoice item on a project. Only available for billable projects using a budget and the budget mode is either "detailed" or "aggregated".
# Create a project expense
Source: https://docs.ruddr.io/api-reference/project-expenses/create-a-project-expense
openapi.json POST /project-expenses
Scheduled project expenses that are outside a member's expense reports.
# Delete a project expense
Source: https://docs.ruddr.io/api-reference/project-expenses/delete-a-project-expense
openapi.json DELETE /project-expenses/{id}
Scheduled project expenses that are outside a member's expense reports.
# Get a project expense
Source: https://docs.ruddr.io/api-reference/project-expenses/get-a-project-expense
openapi.json GET /project-expenses/{id}
Scheduled project expenses that are outside a member's expense reports.
# List project expenses
Source: https://docs.ruddr.io/api-reference/project-expenses/list-project-expenses
openapi.json GET /project-expenses
Scheduled project expenses that are outside a member's expense reports.
# Update a project expense
Source: https://docs.ruddr.io/api-reference/project-expenses/update-a-project-expense
openapi.json PATCH /project-expenses/{id}
Scheduled project expenses that are outside a member's expense reports.
# Get a project group
Source: https://docs.ruddr.io/api-reference/project-groups/get-a-project-group
openapi.json GET /project-groups/{id}
A collection of related projects under a client, used for organizing and filtering.
# List project groups
Source: https://docs.ruddr.io/api-reference/project-groups/list-project-groups
openapi.json GET /project-groups
A collection of related projects under a client, used for organizing and filtering.
# Create a project health report
Source: https://docs.ruddr.io/api-reference/project-health-reports/create-a-project-health-report
openapi.json POST /project-health-reports
A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction.
# Delete a project health report
Source: https://docs.ruddr.io/api-reference/project-health-reports/delete-a-project-health-report
openapi.json DELETE /project-health-reports/{id}
A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction.
# Get a project health report
Source: https://docs.ruddr.io/api-reference/project-health-reports/get-a-project-health-report
openapi.json GET /project-health-reports/{id}
A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction.
# List project health reports
Source: https://docs.ruddr.io/api-reference/project-health-reports/list-project-health-reports
openapi.json GET /project-health-reports
A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction.
# Update a project health report
Source: https://docs.ruddr.io/api-reference/project-health-reports/update-a-project-health-report
openapi.json PATCH /project-health-reports/{id}
A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction.
# Create a project invoice milestone
Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/create-a-project-invoice-milestone
openapi.json POST /project-invoice-milestones
Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring".
# Delete a project invoice milestone
Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/delete-a-project-invoice-milestone
openapi.json DELETE /project-invoice-milestones/{id}
Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring".
# Get a project invoice milestone
Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/get-a-project-invoice-milestone
openapi.json GET /project-invoice-milestones/{id}
Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring".
# List project invoice milestones
Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/list-project-invoice-milestones
openapi.json GET /project-invoice-milestones
Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring".
# Update a project invoice milestone
Source: https://docs.ruddr.io/api-reference/project-invoice-milestones/update-a-project-invoice-milestone
openapi.json PATCH /project-invoice-milestones/{id}
Scheduled invoicing for a fixed fee project. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring".
# Create a project member
Source: https://docs.ruddr.io/api-reference/project-members/create-a-project-member
openapi.json POST /project-members
A team member assigned to a project.
# Delete a project member
Source: https://docs.ruddr.io/api-reference/project-members/delete-a-project-member
openapi.json DELETE /project-members/{id}
A team member assigned to a project.
# Get a project member
Source: https://docs.ruddr.io/api-reference/project-members/get-a-project-member
openapi.json GET /project-members/{id}
A team member assigned to a project.
# List project members
Source: https://docs.ruddr.io/api-reference/project-members/list-project-members
openapi.json GET /project-members
A team member assigned to a project.
# Update a project member
Source: https://docs.ruddr.io/api-reference/project-members/update-a-project-member
openapi.json PATCH /project-members/{id}
A team member assigned to a project.
# Create a project monthly budget expense
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/create-a-project-monthly-budget-expense
openapi.json POST /project-monthly-budget-expenses
The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed".
# Delete a project monthly budget expense
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/delete-a-project-monthly-budget-expense
openapi.json DELETE /project-monthly-budget-expenses/{id}
The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed".
# Get a project monthly budget expense
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/get-a-project-monthly-budget-expense
openapi.json GET /project-monthly-budget-expenses/{id}
The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed".
# List project monthly budget expenses
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/list-project-monthly-budget-expenses
openapi.json GET /project-monthly-budget-expenses
The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed".
# Update a project monthly budget expense
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-expenses/update-a-project-monthly-budget-expense
openapi.json PATCH /project-monthly-budget-expenses/{id}
The monthly budget for an expense category on a project. Only available for projects that are using a monthly budget and the monthly budget mode is "detailed".
# Create a project monthly budget other item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/create-a-project-monthly-budget-other-item
openapi.json POST /project-monthly-budget-other-items
The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Delete a project monthly budget other item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/delete-a-project-monthly-budget-other-item
openapi.json DELETE /project-monthly-budget-other-items/{id}
The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Get a project monthly budget other item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/get-a-project-monthly-budget-other-item
openapi.json GET /project-monthly-budget-other-items/{id}
The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# List project monthly budget other items
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/list-project-monthly-budget-other-items
openapi.json GET /project-monthly-budget-other-items
The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Update a project monthly budget other item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-other-items/update-a-project-monthly-budget-other-item
openapi.json PATCH /project-monthly-budget-other-items/{id}
The monthly budget for a miscellaneous invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Create a project monthly budget product item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/create-a-project-monthly-budget-product-item
openapi.json POST /project-monthly-budget-product-items
The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Delete a project monthly budget product item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/delete-a-project-monthly-budget-product-item
openapi.json DELETE /project-monthly-budget-product-items/{id}
The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Get a project monthly budget product item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/get-a-project-monthly-budget-product-item
openapi.json GET /project-monthly-budget-product-items/{id}
The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# List project monthly budget product items
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/list-project-monthly-budget-product-items
openapi.json GET /project-monthly-budget-product-items
The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Update a project monthly budget product item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-product-items/update-a-project-monthly-budget-product-item
openapi.json PATCH /project-monthly-budget-product-items/{id}
The monthly budget for a product invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Create a project monthly budget service item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/create-a-project-monthly-budget-service-item
openapi.json POST /project-monthly-budget-service-items
The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Delete a project monthly budget service item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/delete-a-project-monthly-budget-service-item
openapi.json DELETE /project-monthly-budget-service-items/{id}
The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Get a project monthly budget service item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/get-a-project-monthly-budget-service-item
openapi.json GET /project-monthly-budget-service-items/{id}
The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# List project monthly budget service items
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/list-project-monthly-budget-service-items
openapi.json GET /project-monthly-budget-service-items
The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Update a project monthly budget service item
Source: https://docs.ruddr.io/api-reference/project-monthly-budget-service-items/update-a-project-monthly-budget-service-item
openapi.json PATCH /project-monthly-budget-service-items/{id}
The monthly budget for an additional service invoice item on a project. Only available for billable projects using a monthly budget and the monthly budget mode is "detailed".
# Create a project other item
Source: https://docs.ruddr.io/api-reference/project-other-items/create-a-project-other-item
openapi.json POST /project-other-items
Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects.
# Delete a project other item
Source: https://docs.ruddr.io/api-reference/project-other-items/delete-a-project-other-item
openapi.json DELETE /project-other-items/{id}
Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects.
# Get a project other item
Source: https://docs.ruddr.io/api-reference/project-other-items/get-a-project-other-item
openapi.json GET /project-other-items/{id}
Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects.
# List project other items
Source: https://docs.ruddr.io/api-reference/project-other-items/list-project-other-items
openapi.json GET /project-other-items
Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects.
# Update a project other item
Source: https://docs.ruddr.io/api-reference/project-other-items/update-a-project-other-item
openapi.json PATCH /project-other-items/{id}
Scheduled miscellaneous items to bill to a project. Includes items like products, licenses, deliverables, or other materials. Only available for billable projects.
# Create a project prepayment
Source: https://docs.ruddr.io/api-reference/project-prepayments/create-a-project-prepayment
openapi.json POST /project-prepayments
A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item.
# Delete a project prepayment
Source: https://docs.ruddr.io/api-reference/project-prepayments/delete-a-project-prepayment
openapi.json DELETE /project-prepayments/{id}
A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item.
# Get a project prepayment
Source: https://docs.ruddr.io/api-reference/project-prepayments/get-a-project-prepayment
openapi.json GET /project-prepayments/{id}
A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item.
# List project prepayments
Source: https://docs.ruddr.io/api-reference/project-prepayments/list-project-prepayments
openapi.json GET /project-prepayments
A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item.
# Update a project prepayment
Source: https://docs.ruddr.io/api-reference/project-prepayments/update-a-project-prepayment
openapi.json PATCH /project-prepayments/{id}
A prepayment invoiced up front to offset future fees on a project. All prepayments of a given type on a project bill against the same invoice item.
# Create a project product item
Source: https://docs.ruddr.io/api-reference/project-product-items/create-a-project-product-item
openapi.json POST /project-product-items
A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects.
# Delete a project product item
Source: https://docs.ruddr.io/api-reference/project-product-items/delete-a-project-product-item
openapi.json DELETE /project-product-items/{id}
A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects.
# Get a project product item
Source: https://docs.ruddr.io/api-reference/project-product-items/get-a-project-product-item
openapi.json GET /project-product-items/{id}
A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects.
# List project product items
Source: https://docs.ruddr.io/api-reference/project-product-items/list-project-product-items
openapi.json GET /project-product-items
A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects.
# Update a project product item
Source: https://docs.ruddr.io/api-reference/project-product-items/update-a-project-product-item
openapi.json PATCH /project-product-items/{id}
A product to bill to a project, such as software, licenses, hardware, or other goods. Only available for billable projects.
# Create a project revenue adjustment
Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/create-a-project-revenue-adjustment
openapi.json POST /project-revenue-adjustments
Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects.
# Delete a project revenue adjustment
Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/delete-a-project-revenue-adjustment
openapi.json DELETE /project-revenue-adjustments/{id}
Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects.
# Get a project revenue adjustment
Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/get-a-project-revenue-adjustment
openapi.json GET /project-revenue-adjustments/{id}
Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects.
# List project revenue adjustments
Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/list-project-revenue-adjustments
openapi.json GET /project-revenue-adjustments
Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects.
# Update a project revenue adjustment
Source: https://docs.ruddr.io/api-reference/project-revenue-adjustments/update-a-project-revenue-adjustment
openapi.json PATCH /project-revenue-adjustments/{id}
Manual positive or negative adjustments to a project's earned revenue. They affect earned revenue only and never change invoiced revenue. Available on billable projects.
# Create a project revenue recognition entry
Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/create-a-project-revenue-recognition-entry
openapi.json POST /project-revenue-recognition-entries
Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual".
# Delete a project revenue recognition entry
Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/delete-a-project-revenue-recognition-entry
openapi.json DELETE /project-revenue-recognition-entries/{id}
Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual".
# Get a project revenue recognition entry
Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/get-a-project-revenue-recognition-entry
openapi.json GET /project-revenue-recognition-entries/{id}
Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual".
# List project revenue recognition entries
Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/list-project-revenue-recognition-entries
openapi.json GET /project-revenue-recognition-entries
Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual".
# Update a project revenue recognition entry
Source: https://docs.ruddr.io/api-reference/project-revenue-recognition-entries/update-a-project-revenue-recognition-entry
openapi.json PATCH /project-revenue-recognition-entries/{id}
Scheduled recognition of payments for fixed-fee projects. This is only available for projects that have a billing type of "fixed" or "fixed\_recurring" and where the revenue recognition mode is set to "manual".
# Create a project role
Source: https://docs.ruddr.io/api-reference/project-roles/create-a-project-role
openapi.json POST /project-roles
A role on a project used to group rates and billability settings, then assigned to project members.
# Delete a project role
Source: https://docs.ruddr.io/api-reference/project-roles/delete-a-project-role
openapi.json DELETE /project-roles/{id}
A role on a project used to group rates and billability settings, then assigned to project members.
# Get a project role
Source: https://docs.ruddr.io/api-reference/project-roles/get-a-project-role
openapi.json GET /project-roles/{id}
A role on a project used to group rates and billability settings, then assigned to project members.
# List project roles
Source: https://docs.ruddr.io/api-reference/project-roles/list-project-roles
openapi.json GET /project-roles
A role on a project used to group rates and billability settings, then assigned to project members.
# Update a project role
Source: https://docs.ruddr.io/api-reference/project-roles/update-a-project-role
openapi.json PATCH /project-roles/{id}
A role on a project used to group rates and billability settings, then assigned to project members.
# Create a project service item
Source: https://docs.ruddr.io/api-reference/project-service-items/create-a-project-service-item
openapi.json POST /project-service-items
An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects.
# Delete a project service item
Source: https://docs.ruddr.io/api-reference/project-service-items/delete-a-project-service-item
openapi.json DELETE /project-service-items/{id}
An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects.
# Get a project service item
Source: https://docs.ruddr.io/api-reference/project-service-items/get-a-project-service-item
openapi.json GET /project-service-items/{id}
An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects.
# List project service items
Source: https://docs.ruddr.io/api-reference/project-service-items/list-project-service-items
openapi.json GET /project-service-items
An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects.
# Update a project service item
Source: https://docs.ruddr.io/api-reference/project-service-items/update-a-project-service-item
openapi.json PATCH /project-service-items/{id}
An additional service charge billed to a project, such as managed services, consulting retainers, or other recurring fees beyond core project work. Only available for billable projects.
# Create a project tag
Source: https://docs.ruddr.io/api-reference/project-tags/create-a-project-tag
openapi.json POST /project-tags
A custom attribute that can be assigned to projects and used to filter reports.
# Delete a project tag
Source: https://docs.ruddr.io/api-reference/project-tags/delete-a-project-tag
openapi.json DELETE /project-tags/{id}
A custom attribute that can be assigned to projects and used to filter reports.
# Get a project tag
Source: https://docs.ruddr.io/api-reference/project-tags/get-a-project-tag
openapi.json GET /project-tags/{id}
A custom attribute that can be assigned to projects and used to filter reports.
# List project tags
Source: https://docs.ruddr.io/api-reference/project-tags/list-project-tags
openapi.json GET /project-tags
A custom attribute that can be assigned to projects and used to filter reports.
# Update a project tag
Source: https://docs.ruddr.io/api-reference/project-tags/update-a-project-tag
openapi.json PATCH /project-tags/{id}
A custom attribute that can be assigned to projects and used to filter reports.
# Create a project task
Source: https://docs.ruddr.io/api-reference/project-tasks/create-a-project-task
openapi.json POST /project-tasks
A work item or activity that helps complete a project.
# Delete a project task
Source: https://docs.ruddr.io/api-reference/project-tasks/delete-a-project-task
openapi.json DELETE /project-tasks/{id}
A work item or activity that helps complete a project.
# Get a project task
Source: https://docs.ruddr.io/api-reference/project-tasks/get-a-project-task
openapi.json GET /project-tasks/{id}
A work item or activity that helps complete a project.
# List project tasks
Source: https://docs.ruddr.io/api-reference/project-tasks/list-project-tasks
openapi.json GET /project-tasks
A work item or activity that helps complete a project.
# Update a project task
Source: https://docs.ruddr.io/api-reference/project-tasks/update-a-project-task
openapi.json PATCH /project-tasks/{id}
A work item or activity that helps complete a project.
# Create a project type
Source: https://docs.ruddr.io/api-reference/project-types/create-a-project-type
openapi.json POST /project-types
A classification that can be assigned to projects and used to filter reports.
# Delete a project type
Source: https://docs.ruddr.io/api-reference/project-types/delete-a-project-type
openapi.json DELETE /project-types/{id}
A classification that can be assigned to projects and used to filter reports.
# Get a project type
Source: https://docs.ruddr.io/api-reference/project-types/get-a-project-type
openapi.json GET /project-types/{id}
A classification that can be assigned to projects and used to filter reports.
# List project types
Source: https://docs.ruddr.io/api-reference/project-types/list-project-types
openapi.json GET /project-types
A classification that can be assigned to projects and used to filter reports.
# Update a project type
Source: https://docs.ruddr.io/api-reference/project-types/update-a-project-type
openapi.json PATCH /project-types/{id}
A classification that can be assigned to projects and used to filter reports.
# Create a project
Source: https://docs.ruddr.io/api-reference/projects/create-a-project
openapi.json POST /projects
A scope of work for a client. Contains the top-level information for a project in your workspace.
# Delete a project
Source: https://docs.ruddr.io/api-reference/projects/delete-a-project
openapi.json DELETE /projects/{id}
A scope of work for a client. Contains the top-level information for a project in your workspace.
# Get a project
Source: https://docs.ruddr.io/api-reference/projects/get-a-project
openapi.json GET /projects/{id}
A scope of work for a client. Contains the top-level information for a project in your workspace.
# List projects
Source: https://docs.ruddr.io/api-reference/projects/list-projects
openapi.json GET /projects
A scope of work for a client. Contains the top-level information for a project in your workspace.
# Update a project
Source: https://docs.ruddr.io/api-reference/projects/update-a-project
openapi.json PATCH /projects/{id}
A scope of work for a client. Contains the top-level information for a project in your workspace.
# Create a resource placeholder
Source: https://docs.ruddr.io/api-reference/resource-placeholders/create-a-resource-placeholder
openapi.json POST /resource-placeholders
A generic role-based slot used to plan staffing needs before assigning specific members.
# Delete a resource placeholder
Source: https://docs.ruddr.io/api-reference/resource-placeholders/delete-a-resource-placeholder
openapi.json DELETE /resource-placeholders/{id}
A generic role-based slot used to plan staffing needs before assigning specific members.
# Get a resource placeholder
Source: https://docs.ruddr.io/api-reference/resource-placeholders/get-a-resource-placeholder
openapi.json GET /resource-placeholders/{id}
A generic role-based slot used to plan staffing needs before assigning specific members.
# List resource placeholders
Source: https://docs.ruddr.io/api-reference/resource-placeholders/list-resource-placeholders
openapi.json GET /resource-placeholders
A generic role-based slot used to plan staffing needs before assigning specific members.
# Update a resource placeholder
Source: https://docs.ruddr.io/api-reference/resource-placeholders/update-a-resource-placeholder
openapi.json PATCH /resource-placeholders/{id}
A generic role-based slot used to plan staffing needs before assigning specific members.
# Get a security role
Source: https://docs.ruddr.io/api-reference/security-roles/get-a-security-role
openapi.json GET /security-roles/{id}
A set of permissions that controls what members assigned to it can access in the workspace.
# List security roles
Source: https://docs.ruddr.io/api-reference/security-roles/list-security-roles
openapi.json GET /security-roles
A set of permissions that controls what members assigned to it can access in the workspace.
# Create a skill
Source: https://docs.ruddr.io/api-reference/skills/create-a-skill
openapi.json POST /skills
A competency that can be assigned to members and placeholders and used to filter reports.
# Delete a skill
Source: https://docs.ruddr.io/api-reference/skills/delete-a-skill
openapi.json DELETE /skills/{id}
A competency that can be assigned to members and placeholders and used to filter reports.
# Get a skill
Source: https://docs.ruddr.io/api-reference/skills/get-a-skill
openapi.json GET /skills/{id}
A competency that can be assigned to members and placeholders and used to filter reports.
# List skills
Source: https://docs.ruddr.io/api-reference/skills/list-skills
openapi.json GET /skills
A competency that can be assigned to members and placeholders and used to filter reports.
# Update a skill
Source: https://docs.ruddr.io/api-reference/skills/update-a-skill
openapi.json PATCH /skills/{id}
A competency that can be assigned to members and placeholders and used to filter reports.
# Create a task category
Source: https://docs.ruddr.io/api-reference/task-categories/create-a-task-category
openapi.json POST /task-categories
A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks.
# Delete a task category
Source: https://docs.ruddr.io/api-reference/task-categories/delete-a-task-category
openapi.json DELETE /task-categories/{id}
A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks.
# Get a task category
Source: https://docs.ruddr.io/api-reference/task-categories/get-a-task-category
openapi.json GET /task-categories/{id}
A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks.
# List task categorys
Source: https://docs.ruddr.io/api-reference/task-categories/list-task-categories
openapi.json GET /task-categories
A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks.
# Update a task category
Source: https://docs.ruddr.io/api-reference/task-categories/update-a-task-category
openapi.json PATCH /task-categories/{id}
A classification applied to project tasks that determines their behavior. `standard` categories represent regular tasks, while `rollup` categories act as containers whose budgets and rollups derive from their descendant standard tasks.
# Create a task tag
Source: https://docs.ruddr.io/api-reference/task-tags/create-a-task-tag
openapi.json POST /task-tags
A custom attribute that can be assigned to tasks and used to filter reports.
# Delete a task tag
Source: https://docs.ruddr.io/api-reference/task-tags/delete-a-task-tag
openapi.json DELETE /task-tags/{id}
A custom attribute that can be assigned to tasks and used to filter reports.
# Get a task tag
Source: https://docs.ruddr.io/api-reference/task-tags/get-a-task-tag
openapi.json GET /task-tags/{id}
A custom attribute that can be assigned to tasks and used to filter reports.
# List task tags
Source: https://docs.ruddr.io/api-reference/task-tags/list-task-tags
openapi.json GET /task-tags
A custom attribute that can be assigned to tasks and used to filter reports.
# Update a task tag
Source: https://docs.ruddr.io/api-reference/task-tags/update-a-task-tag
openapi.json PATCH /task-tags/{id}
A custom attribute that can be assigned to tasks and used to filter reports.
# Create a task template
Source: https://docs.ruddr.io/api-reference/task-templates/create-a-task-template
openapi.json POST /task-templates
A reusable task definition that can be quickly added to projects.
# Delete a task template
Source: https://docs.ruddr.io/api-reference/task-templates/delete-a-task-template
openapi.json DELETE /task-templates/{id}
A reusable task definition that can be quickly added to projects.
# Get a task template
Source: https://docs.ruddr.io/api-reference/task-templates/get-a-task-template
openapi.json GET /task-templates/{id}
A reusable task definition that can be quickly added to projects.
# List task templates
Source: https://docs.ruddr.io/api-reference/task-templates/list-task-templates
openapi.json GET /task-templates
A reusable task definition that can be quickly added to projects.
# Update a task template
Source: https://docs.ruddr.io/api-reference/task-templates/update-a-task-template
openapi.json PATCH /task-templates/{id}
A reusable task definition that can be quickly added to projects.
# Create a tax rate
Source: https://docs.ruddr.io/api-reference/tax-rates/create-a-tax-rate
openapi.json POST /tax-rates
A named tax rate percentage that can be applied to line items on invoices.
# Delete a tax rate
Source: https://docs.ruddr.io/api-reference/tax-rates/delete-a-tax-rate
openapi.json DELETE /tax-rates/{id}
A named tax rate percentage that can be applied to line items on invoices.
# Get a tax rate
Source: https://docs.ruddr.io/api-reference/tax-rates/get-a-tax-rate
openapi.json GET /tax-rates/{id}
A named tax rate percentage that can be applied to line items on invoices.
# List tax rates
Source: https://docs.ruddr.io/api-reference/tax-rates/list-tax-rates
openapi.json GET /tax-rates
A named tax rate percentage that can be applied to line items on invoices.
# Update a tax rate
Source: https://docs.ruddr.io/api-reference/tax-rates/update-a-tax-rate
openapi.json PATCH /tax-rates/{id}
A named tax rate percentage that can be applied to line items on invoices.
# Create a time entry
Source: https://docs.ruddr.io/api-reference/time-entries/create-a-time-entry
openapi.json POST /time-entries
A record of time logged by a member against a project or time off type.
# Delete a time entry
Source: https://docs.ruddr.io/api-reference/time-entries/delete-a-time-entry
openapi.json DELETE /time-entries/{id}
A record of time logged by a member against a project or time off type.
# Get a time entry
Source: https://docs.ruddr.io/api-reference/time-entries/get-a-time-entry
openapi.json GET /time-entries/{id}
A record of time logged by a member against a project or time off type.
# List time entries
Source: https://docs.ruddr.io/api-reference/time-entries/list-time-entries
openapi.json GET /time-entries
A record of time logged by a member against a project or time off type.
# Update a time entry
Source: https://docs.ruddr.io/api-reference/time-entries/update-a-time-entry
openapi.json PATCH /time-entries/{id}
A record of time logged by a member against a project or time off type.
# Create a time off type
Source: https://docs.ruddr.io/api-reference/time-off-types/create-a-time-off-type
openapi.json POST /time-off-types
A category of time off that members can log, such as vacation or sick leave.
# Delete a time off type
Source: https://docs.ruddr.io/api-reference/time-off-types/delete-a-time-off-type
openapi.json DELETE /time-off-types/{id}
A category of time off that members can log, such as vacation or sick leave.
# Get a time off type
Source: https://docs.ruddr.io/api-reference/time-off-types/get-a-time-off-type
openapi.json GET /time-off-types/{id}
A category of time off that members can log, such as vacation or sick leave.
# List time off types
Source: https://docs.ruddr.io/api-reference/time-off-types/list-time-off-types
openapi.json GET /time-off-types
A category of time off that members can log, such as vacation or sick leave.
# Update a time off type
Source: https://docs.ruddr.io/api-reference/time-off-types/update-a-time-off-type
openapi.json PATCH /time-off-types/{id}
A category of time off that members can log, such as vacation or sick leave.
# Create a timesheet attestation
Source: https://docs.ruddr.io/api-reference/timesheet-attestations/create-a-timesheet-attestation
openapi.json POST /timesheet-attestations
A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours.
# Delete a timesheet attestation
Source: https://docs.ruddr.io/api-reference/timesheet-attestations/delete-a-timesheet-attestation
openapi.json DELETE /timesheet-attestations/{id}
A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours.
# Get a timesheet attestation
Source: https://docs.ruddr.io/api-reference/timesheet-attestations/get-a-timesheet-attestation
openapi.json GET /timesheet-attestations/{id}
A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours.
# List timesheet attestations
Source: https://docs.ruddr.io/api-reference/timesheet-attestations/list-timesheet-attestations
openapi.json GET /timesheet-attestations
A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours.
# Update a timesheet attestation
Source: https://docs.ruddr.io/api-reference/timesheet-attestations/update-a-timesheet-attestation
openapi.json PATCH /timesheet-attestations/{id}
A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours.
# Create a timesheet
Source: https://docs.ruddr.io/api-reference/timesheets/create-a-timesheet
openapi.json POST /timesheets
Creates a timesheet for a member. All time entries within the specified date range are associated with the timesheet and submitted for approval.
The `start` and `end` must fall within the same ISO week (Monday through Sunday). In the simplest case, `start` is Monday and `end` is Sunday of the same week.
### Split weeks
When a workspace has split-week timesheets enabled (at month boundaries or semi-month boundaries), the timesheet period may be shorter than a full week. In these cases, `start` and `end` must match one of the valid split boundaries:
- **Month-end split**: If the workspace splits timesheets at the end of the month and a week crosses a month boundary, valid periods are Monday through the last day of the month, or the first day of the new month through Sunday.
- **Semi-month split**: If the workspace splits timesheets at the 15th of the month and a week crosses the 15th, valid periods are Monday through the 15th, or the 16th through Sunday.
If the provided dates do not match a valid period, the API returns a `400` error listing the accepted start and end dates.
### Timesheet attestation
A timesheet attestation requires a signature at the time of submission, and the API does not accept one. A timesheet for a member who is assigned a timesheet attestation must be submitted in the Ruddr app, and a request to submit one through the API returns a `400` error.
A submitted period of time entries for a member, typically representing a week or split-week.
# Delete a timesheet
Source: https://docs.ruddr.io/api-reference/timesheets/delete-a-timesheet
openapi.json DELETE /timesheets/{id}
Deletes a timesheet. Time entries that were pending approval are reverted to their pre-submission state.
A submitted period of time entries for a member, typically representing a week or split-week.
# Get a timesheet
Source: https://docs.ruddr.io/api-reference/timesheets/get-a-timesheet
openapi.json GET /timesheets/{id}
Returns a single timesheet by its unique identifier.
A submitted period of time entries for a member, typically representing a week or split-week.
# List timesheets
Source: https://docs.ruddr.io/api-reference/timesheets/list-timesheets
openapi.json GET /timesheets
Returns a list of timesheets.
A submitted period of time entries for a member, typically representing a week or split-week.
# Create a utilization target period
Source: https://docs.ruddr.io/api-reference/utilization-target-periods/create-a-utilization-target-period
openapi.json POST /utilization-target-periods
A period defining a member's billable utilization targets.
# Delete a utilization target period
Source: https://docs.ruddr.io/api-reference/utilization-target-periods/delete-a-utilization-target-period
openapi.json DELETE /utilization-target-periods/{id}
A period defining a member's billable utilization targets.
# Get a utilization target period
Source: https://docs.ruddr.io/api-reference/utilization-target-periods/get-a-utilization-target-period
openapi.json GET /utilization-target-periods/{id}
A period defining a member's billable utilization targets.
# List utilization target periods
Source: https://docs.ruddr.io/api-reference/utilization-target-periods/list-utilization-target-periods
openapi.json GET /utilization-target-periods
A period defining a member's billable utilization targets.
# Update a utilization target period
Source: https://docs.ruddr.io/api-reference/utilization-target-periods/update-a-utilization-target-period
openapi.json PATCH /utilization-target-periods/{id}
A period defining a member's billable utilization targets.
# Create a workspace role
Source: https://docs.ruddr.io/api-reference/workspace-roles/create-a-workspace-role
openapi.json POST /workspace-roles
A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards.
# Delete a workspace role
Source: https://docs.ruddr.io/api-reference/workspace-roles/delete-a-workspace-role
openapi.json DELETE /workspace-roles/{id}
A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards.
# Get a workspace role
Source: https://docs.ruddr.io/api-reference/workspace-roles/get-a-workspace-role
openapi.json GET /workspace-roles/{id}
A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards.
# List workspace roles
Source: https://docs.ruddr.io/api-reference/workspace-roles/list-workspace-roles
openapi.json GET /workspace-roles
A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards.
# Update a workspace role
Source: https://docs.ruddr.io/api-reference/workspace-roles/update-a-workspace-role
openapi.json PATCH /workspace-roles/{id}
A company-wide role and rate used to build a rate card. Workspace roles can be added or linked to client-specific rate cards.
# API Reference
Source: https://docs.ruddr.io/guides/api-reference
Browse all available API endpoints organized by category
The Ruddr API provides endpoints for managing projects, time tracking, billing, team members, and more. Browse the categories below to find the endpoints you need, or visit the [API Reference](/api-reference/clients/list-clients) tab for full endpoint details.
## Projects
Manage clients, projects, team assignments, tasks, budgets, and billing schedules.
A person or organization using your services. All projects are tied to a client.
A role defining billing terms for work performed for a specific client.
A scope of work for a client. Contains the top-level information for a project.
A team member assigned to a project.
A role on a project used to group rates and billability settings.
A work item or activity that helps complete a project.
Scheduled project expenses outside a member's expense reports.
Scheduled miscellaneous items to bill to a project.
A product to bill to a project, such as software, licenses, or hardware.
An additional service charge billed to a project, such as managed services or retainers.
Scheduled invoicing for a fixed fee project.
Manual positive or negative adjustments to a project's earned revenue.
Scheduled recognition of payments for fixed-fee projects.
A scorecard for a project's health across budget, schedule, and satisfaction.
A collection of related projects under a client.
The budget for an expense category on a project.
The budget for a miscellaneous invoice item on a project.
The budget for a product invoice item on a project.
The budget for an additional service invoice item on a project.
The monthly budget for an expense category on a project.
The monthly budget for a miscellaneous invoice item on a project.
The monthly budget for a product invoice item on a project.
The monthly budget for an additional service invoice item on a project.
## Time
Track time logged by members against projects and time off types.
A record of time logged by a member against a project or time off type.
A submitted period of time entries for a member, typically representing a week or split-week.
## Pipeline
Manage your sales pipeline, including companies and opportunities.
An organization with which you have a history of communication or business.
A person associated with a client, company, or opportunity in your workspace.
A potential business deal within a company with associated revenue and sales details.
## Expenses
Track and manage expense reports and individual expense items for reimbursement or project billing.
A container for expense items, grouping expenses for a specific purpose.
A purchased product or service recorded for reimbursement or project billing.
## Resourcing
Plan and manage resource allocations for members and placeholders across projects.
A resource allocation for a member or placeholder.
## Billing
Manage invoices, credit notes, and payments for client billing.
A document sent to request payment for goods or services.
A document issued to reduce the amount owed by a client on a previous invoice.
A client's payment towards one or more invoices.
## Workspace
Workspace-level settings, security, and configuration, including multi-currency exchange rates.
The exchange rates for the workspace's currencies.
Permission sets assigned to members to control workspace access.
## Members
Manage workspace members and their availability, cost rates, and utilization targets.
A person that belongs to your workspace.
A period defining a member's expected working hours.
A period defining the per-hour labor and overhead costs for a member.
A period defining a member's billable utilization targets.
## Custom Data
Manage the lookup values, tags, and configuration used across your workspace.
A named organizational unit used to configure invoice settings and group clients and projects.
Tags for categorizing clients.
Spend tiers for classifying companies by revenue potential.
Types for categorizing companies.
Tags for categorizing contacts.
Functional areas of expertise for organizing members.
Time-bound exchange rates between currencies.
Categories for classifying expense items.
Schedules that group holidays for assignment to members.
Individual holidays within a holiday schedule.
Industries for classifying clients and companies.
Predefined line items available for use on invoices.
Job titles for classifying members.
Physical locations for organizing members.
Certifications that can be assigned to members.
Levels for classifying members by seniority.
Tags for categorizing members.
Sources that describe how an opportunity was generated.
A pipeline used to categorize and track opportunities through different stages.
Stages in the opportunity pipeline workflow.
Tags for categorizing opportunities.
Types for classifying opportunities.
Methods by which clients can make payments.
An activity logged against a pipeline company or opportunity, such as a call, email, or meeting.
Types of activities logged against pipeline opportunities.
Business units or practice areas within the workspace.
Tags for categorizing projects.
Types for classifying projects.
Placeholder resources used for allocation planning before assigning real members.
Skills that can be assigned to members and resource placeholders.
Classifications applied to project tasks that determine their behavior, such as standard or rollup.
Tags for categorizing project tasks.
Reusable templates for creating project tasks.
Tax rates applied to invoices.
Types of time off available for members to log.
Statements members sign when submitting timesheets for compliance.
Roles defined at the workspace level for standardizing billing rates.
# Authentication
Source: https://docs.ruddr.io/guides/authentication
Authenticate requests to the Ruddr API
The Ruddr API uses API keys to authenticate requests. Each key grants full read and write access to all data within a workspace, so treat them like passwords.
To create an API key, follow the steps in the [Quick Start](/guides/quick-start) guide.
## Using the API Key
Include the API key in the `Authorization` header using the Bearer scheme:
```
Authorization: Bearer
```
## Key Management
* **No expiration**: API keys are valid indefinitely until explicitly revoked.
* **Revocation**: Delete a key from **Settings > API Keys** in your workspace. Revocation takes effect immediately — any request using that key will return `401`.
* **No scopes**: All keys have the same access level. There are no read-only or restricted keys.
## Security Best Practices
* **Store keys securely**: Use environment variables or a secrets manager. Never hard-code keys in source code.
* **Server-side only**: API keys should only be used in server-side code. Never expose them in client-side JavaScript, mobile apps, or public repositories.
* **Rotate periodically**: Create a new key, update your integration, then delete the old one.
## Errors
### 401 Unauthorized
The API key is missing, malformed, or does not match a valid key:
```json theme={null}
{
"status": 401,
"message": "The provided bearer token is missing or invalid."
}
```
### 423 Locked
API access has been disabled for the workspace:
```json theme={null}
{
"status": 423,
"message": "API access is disabled, please contact support for assistance."
}
```
# Changelog
Source: https://docs.ruddr.io/guides/changelog
API version history and changes
Notable changes and additions to the Ruddr API.
## 2026
Added the `productItemsRevenue`, `otherItemsRevenue`, `budgetProductItemsRevenue`, and `budgetOtherItemsRevenue` fields to project health reports for read operations. Total revenue already included these two buckets; the breakdown now reconciles. Reports created before this change return `null` for the new fields.
The `isActive` field on project members now returns `false` when the member is deactivated at the workspace level, matching the web app. Previously it reflected only project-level participation. Writing `isActive` on create and update still controls project-level participation only.
Added a `modifiedAt` field to allocations, clients, credit notes, expense items, invoices, members, projects, security roles, project tasks, and time entries. Added `modifiedAtAfter`, `modifiedAtOnAfter`, `modifiedAtBefore`, and `modifiedAtOnBefore` query parameters to those list endpoints for filtering by modification time.
Added the `attested`, `attestationText`, `attestationSignature`, and `submittedByMember` fields to timesheets for read operations. These capture whether the timesheet was attested, the statement a member attested to at submission, the signature they provided, and the member who submitted the timesheet.
Added the `isReimbursed` field to expense items for read and write operations. Added `isReimbursed` to expense item create and update request bodies, and as a query parameter on the list endpoint to filter by reimbursed status.
Added `accountingNotes` and `revenueAttributionMethod` fields to projects for both read and write operations. `revenueAttributionMethod` is only returned for fixed and fixed-recurring projects.
Added project prepayment endpoints for listing, creating, getting, updating, and deleting prepayments invoiced up front to offset future fees on a project.
Added `predecessorIds` and `successorIds` to project task create and update, and `predecessors` and `successors` relations to project task read operations. Added the `milestone` task category type. Added the `useDependencies` and `autoCompleteMilestones` settings to project create, update, and read operations.
Added timesheet attestation endpoints for listing, creating, getting, updating, and deleting.
Added the `bookingTypeId` field (`confirmed` or `soft`, defaulting to `confirmed`) to allocations for both read and write operations.
Added `businessUnit` field to members. Added `businessUnitId` to member create and update request bodies, and as a query parameter on the list endpoint.
Added project revenue adjustment endpoints for listing, creating, getting, updating, and deleting.
Added security role endpoints for listing and getting security roles.
Added the `typeId` query parameter to the project members list endpoint to filter by collaborator or administrator.
Added create, update, and delete endpoints for pipeline activities.
Added `industry` and `location` fields to clients for both read and write operations.
Added project product item, project service item, project budget product/service item, and project monthly budget product/service item endpoints for listing, creating, getting, updating, and deleting. Added `productRevenue` to the project `budget` and `monthlyBudget` objects, added `budgetProductItemsAmount`, `budgetServiceItemsAmount`, `monthlyBudgetProductItemsAmount`, and `monthlyBudgetServiceItemsAmount` fields to project create and update, and added `products` to the business unit `invoiceTaxableItems` options.
Added `integrations` field to clients and projects, containing `type`, `connectionId`, and `externalId`.
Added task category endpoints for listing, creating, getting, updating, and deleting task categories. Added `taskCategory` relation and `taskCategoryId` to project task and task template create and update endpoints.
Added pipeline activities endpoints for listing and getting pipeline activities.
Added create, update, and delete endpoints for expense items and expense reports.
Added `automaticTimesheetSubmissionConfirmation` field to members for both read and write operations.
Added business unit endpoints for listing, creating, getting, updating, and deleting business units.
Added opportunity pipeline endpoints.
Added timesheet endpoints for creating, listing, and deleting timesheets. Added fields to member cost periods:
* `costMethodId`
* `costPerMonth`
* `overheadCostPerMonth`
* `totalCostPerMonth`
Added `timesheet` field to time entries. Added `timesheetId` and `typeId` query parameters to the list endpoint.
Added client role endpoints.
Added `practice` and `location` fields to project roles.
Added contact tag endpoints.
## 2025
Deprecated `useWorkspaceInvoiceDetails` on clients. Use `invoiceDetailsSource` instead.
Added `clientApprovalStatus` field to time entries.
Added member certification endpoints.
Added date filters to invoices:
* `issuedOnAfter`
* `issuedOnBefore`
Added fields to projects:
* `completedOn`
* `cloudFolderUrl`
Added member level endpoints.
Added budget fields to projects.
Added project group endpoints and `projectGroup` field on projects.
Added fields to time entries:
* `startTime`
* `endTime`
Added member period endpoints:
* Cost periods
* Availability periods
* Utilization target periods
Deprecated `costMethodId` on members. Use `costPeriods` instead.
Deprecated `forbidTimesheetSubmissionWhenBelowCapacity` on members. Use `timesheetCapacityPolicy` instead.
Added opportunity tag endpoints.
## 2024
Added pipeline endpoints:
* Companies
* Contacts
* Opportunities
Added project health report endpoints.
Added exchange rate endpoints.
Added custom data endpoints:
* Client tags
* Company spend tiers
* Company types
* Disciplines
* Expense categories
* Holiday schedules
* Holidays
* Industries
* Invoice items
* Job titles
* Locations
* Member tags
* Opportunity lead sources
* Opportunity stages
* Opportunity types
* Payment methods
* Pipeline activity types
* Practices
* Project tags
* Project types
* Resource placeholders
* Skills
* Task tags
* Task templates
* Tax rates
* Time off types
* Workspace roles
Added billing endpoints:
* Invoices
* Credit notes
* Payments
Added `isAttributableToProductiveUtilization` field to projects.
Added `tags` field to project tasks.
Added `code` field to project tasks.
## 2023
Added `capAssignedHours` field to project tasks.
Added `defaultBillRate` field to members.
Added create, update, and delete endpoints for:
* Project members
* Project roles
* Project expenses
* Project other items
* Project invoice milestones
* Project revenue recognition entries
* Project budget expenses
* Project budget other items
* Project monthly budget expenses
* Project monthly budget other items
Added `invoiced` flag to time entries and expense items.
Added currency support to:
* Clients
* Projects
* Invoices
* Payments
Added create, update, and delete project endpoints. Deprecated `fixedFee` field.
Added fields to allocations:
* `unit`
* `hoursPerWeek`
## 2022
Added create, update, and delete client endpoints.
Added create, update, and delete project task endpoints.
Added read-only endpoints for:
* Projects
* Members
* Clients
* Time entries
* Allocations
* Project members
* Project roles
* Project tasks
* Project expenses
* Project other items
* Project budget expenses
* Project budget other items
* Project monthly budget expenses
* Project monthly budget other items
* Project revenue recognition entries
* Project invoice milestones
# Conventions
Source: https://docs.ruddr.io/guides/conventions
Base URL, data formats, and general conventions
General conventions that apply across all Ruddr API endpoints.
## Base URL
All API requests use the following base URL over HTTPS:
```
https://www.ruddr.io/api/workspace
```
## Data Formats
* **JSON**: All request and response bodies are JSON-encoded. Set the `Content-Type` header to `application/json` for requests with a body.
* **camelCase**: Object attribute names use `camelCase` (not `snake_case` or `kebab-case`).
* **UUIDs**: All resource identifiers are UUID v4 strings.
* **Slugs**: Slugs use lowercase alphanumeric characters with hyphens.
* **Dates**: Date values use ISO 8601 format — `2021-07-24` for dates and `2021-07-24T17:40:03.633Z` for timestamps.
* **Null handling**: Empty strings are automatically converted to `null` on write. Setting a property to `null` unsets it.
# Errors
Source: https://docs.ruddr.io/guides/errors
HTTP status codes and error response format
The Ruddr API uses standard HTTP status codes to indicate the success or failure of a request.
## Status Codes
### Success
| Code | Description |
| ---------------- | ---------------------------------------------------------------------------------------------- |
| `200 OK` | Everything worked as expected. |
| `204 No Content` | Everything worked as expected, but there is no content to return. Typical for delete requests. |
### Client Errors
| Code | Description |
| ------------------------ | ---------------------------------------------------------------------------------------------- |
| `400 Bad Request` | The request was unacceptable due to an issue with the request format or data. |
| `401 Unauthorized` | The API key is missing or invalid. |
| `403 Forbidden` | The requested feature is not enabled for this workspace. |
| `404 Not Found` | The resource or endpoint does not exist. |
| `405 Method Not Allowed` | The endpoint URL exists, but does not support the requested operation. |
| `409 Conflict` | A resource with the same identifying information already exists, or the resource is read-only. |
| `423 Locked` | API access is disabled for this workspace. Contact support for assistance. |
| `429 Too Many Requests` | Rate limit exceeded. See [Rate Limits](/guides/rate-limits) for retry guidance. |
### Server Errors
| Code | Description |
| --------------------------- | ------------------------------------ |
| `500 Internal Server Error` | Something went wrong on Ruddr's end. |
## Error Response Format
Error responses return a JSON object with a `status` code and descriptive `message`:
```json theme={null}
{
"status": 400,
"message": "Parameter 'id' is not a valid UUID."
}
```
Some validation errors may include an `errors` array with details:
```json theme={null}
{
"status": 400,
"message": "There was a problem processing your request. See errors for more details.",
"errors": ["'name' is required"]
}
```
# OpenAPI Specification
Source: https://docs.ruddr.io/guides/openapi
Download and use the Ruddr API OpenAPI 3.1 spec
The Ruddr API publishes a complete [OpenAPI 3.1](https://spec.openapis.org/oas/v3.1.0) specification. You can use it for client generation, API exploration, testing, and validation.
## Variants
Two variants of the spec are available:
**openapi.json** — Uses internal `$ref` references to shared schemas in `#/components/`. Best for tools that resolve
`$ref` natively, such as Swagger UI, Redocly, and most code generators.
**openapi-deref.json** — Fully inlined with no `$ref` pointers. Every schema is expanded at point of use. Best for
tools that don't handle `$ref` well, or for direct inspection and scripting.
## Use Cases
* **Client generation** — Feed the spec to [OpenAPI Generator](https://openapi-generator.tech/) or similar tools to generate typed API clients in your language of choice.
* **API exploration** — Import into Postman, Insomnia, or any OpenAPI-compatible tool to browse endpoints and try requests.
* **Testing and validation** — Validate request/response payloads against the spec in your test suite.
* **Documentation** — The API Reference in these docs is generated directly from the bundled spec.
## Shared Schemas
The bundled spec defines reusable components under `#/components/`:
* **Resource schemas** (`components/schemas`) — Named response shapes for each resource (e.g., `Client`, `Project`, `Member`). All endpoints returning a resource reference the same schema.
* **Error schemas** (`components/schemas`) — `ErrorResponse` and `ValidationErrorResponse` for consistent error handling.
* **Pagination parameters** (`components/parameters`) — `StartingAfter`, `EndingBefore`, and `Limit` used by all list endpoints.
In the dereferenced variant, these are inlined everywhere they're used.
# List Endpoints
Source: https://docs.ruddr.io/guides/pagination
Pagination, sorting, and filtering for list endpoints
All list endpoints in the Ruddr API use cursor-based pagination and return results in a common response format.
## Response Format
List endpoints return a wrapper object:
```json theme={null}
{
"results": [
{ "id": "...", "createdAt": "2024-01-15T10:30:00.000Z", ... },
{ "id": "...", "createdAt": "2024-01-14T09:00:00.000Z", ... }
],
"hasMore": true
}
```
| Field | Type | Description |
| --------- | ------- | --------------------------------------------------------- |
| `results` | array | Array of resource objects |
| `hasMore` | boolean | Whether additional pages exist in the traversal direction |
## Pagination
### Query Parameters
| Parameter | Type | Default | Description |
| --------------- | ------- | ------- | ----------------------------------------------------------------- |
| `startingAfter` | UUID | — | Cursor ID from the previous response to request the next page |
| `endingBefore` | UUID | — | Cursor ID from the previous response to request the previous page |
| `limit` | integer | `10` | Maximum number of results to return (`1`–`100`) |
`startingAfter` and `endingBefore` are mutually exclusive — only one can be used per request. Omitting both returns
results from the beginning.
### Iterating Through Pages
To fetch all results, use the `id` of the last item in each response as the `startingAfter` cursor for the next request. Continue until `hasMore` is `false`.
**First page:**
```bash theme={null}
curl "https://www.ruddr.io/api/workspace/clients?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
```
**Next page** (using the last `id` from the previous response):
```bash theme={null}
curl "https://www.ruddr.io/api/workspace/clients?limit=10&startingAfter=LAST_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
```
**Previous page** (using the first `id` from the current response):
```bash theme={null}
curl "https://www.ruddr.io/api/workspace/clients?limit=10&endingBefore=FIRST_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
```
## Sorting
All list endpoints return results sorted by `createdAt` in descending order (newest first). The sort order is not configurable — there are no `sort` or `orderBy` parameters.
## Filtering
Most list endpoints accept query parameters to narrow results. Available filters vary by endpoint and are documented in the [API Reference](/api-reference/clients/list-clients).
### Filter Types
| Type | Convention | Example |
| --------------- | --------------------------------------------------------------------- | ----------------------------------------------- |
| UUID | Field name (e.g., `clientId`) | `?clientId=` |
| Exact string | Field name (e.g., `code`) | `?code=PRJ-001` |
| String matching | `field`, `fieldContains`, `fieldStartsWith`, `fieldEndsWith` | `?nameContains=Acme` |
| Date range | `field`, `fieldAfter`, `fieldOnAfter`, `fieldBefore`, `fieldOnBefore` | `?dateOnAfter=2025-01-01&dateBefore=2025-02-01` |
| Enum | Field name (e.g., `statusId`) | `?statusId=active` |
String matching filters are case-insensitive. Date filters use `YYYY-MM-DD` format.
### Example
Fetch the first page of active projects for a specific client:
```bash theme={null}
curl "https://www.ruddr.io/api/workspace/projects?clientId=CLIENT_ID&statusId=active&limit=25" \
-H "Authorization: Bearer YOUR_API_KEY"
```
Combine filtering with pagination to iterate through the results:
```bash theme={null}
curl "https://www.ruddr.io/api/workspace/projects?clientId=CLIENT_ID&statusId=active&limit=25&startingAfter=LAST_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
```
# Quick Start
Source: https://docs.ruddr.io/guides/quick-start
Make your first API request in minutes
The Ruddr API is a RESTful API that lets you programmatically access and manage your Ruddr workspace data, including clients, projects, members, time entries, expenses, invoices, and more.
## Get Your API Key
1. Navigate to **Settings > API Keys** in your Ruddr workspace
2. Click **Create API Key**
3. Optionally name the key to identify its purpose or owner
4. Click **Submit** to generate the key
The full token is only displayed once. Copy and store it in a secure location like a password manager. After creation,
only the last 4 characters are visible.
## Make Your First Request
Test your connection by fetching your workspace details:
```bash theme={null}
curl https://www.ruddr.io/api/workspace \
-H "Authorization: Bearer YOUR_API_KEY"
```
A successful response returns your workspace details:
```json theme={null}
{
"id": "af7d3ba3-785d-4bae-9d1f-6897e15db5f6",
"name": "My Workspace"
}
```
## Next Steps
### Getting Started
* Review [Conventions](/guides/conventions) for base URL, data formats, and general rules
* Learn about [Authentication](/guides/authentication) and how to manage API keys
* Understand [Rate Limits](/guides/rate-limits) and how to handle throttled requests
* Explore [List Endpoints](/guides/pagination) for pagination, sorting, and filtering
* Read about [Errors](/guides/errors) for HTTP status codes and error response format
### Resources
* Explore the [API Reference](/guides/api-reference) to browse all available endpoints
* Download the [OpenAPI Spec](/guides/openapi) for client generation and API exploration
* Check the [Changelog](/guides/changelog) for the latest API updates
# Rate Limits
Source: https://docs.ruddr.io/guides/rate-limits
Understand API rate limits and how to handle them
The Ruddr API enforces rate limits to ensure fair usage and platform stability.
## Limits
API requests are rate limited to **20 requests per second**. This limit is shared across all API keys in a workspace.
## 429 Too Many Requests
When the rate limit is exceeded, the API returns a `429` response:
```json theme={null}
{
"status": 429,
"message": "Too many requests"
}
```
## Retry Guidance
When you receive a `429` response, retry the request after a short delay. Use exponential backoff to avoid overwhelming the API:
```
attempt 1 → wait 1s
attempt 2 → wait 2s
attempt 3 → wait 4s
attempt 4 → wait 8s
```
Here's a pseudocode example:
```
maxRetries = 5
baseDelay = 1 second
for attempt = 1 to maxRetries:
response = makeRequest()
if response.status != 429:
return response
delay = baseDelay * (2 ^ (attempt - 1))
sleep(delay)
raise "Max retries exceeded"
```
If you're regularly hitting rate limits, consider reducing the concurrency of your requests or adding a small delay
between calls.