openapi: 3.2.0 info: description: Welcome to the Rocket Matter API. version: '2.0' title: Rocket Matter Rates API termsOfService: www.rocketmatter.com contact: email: developer@rocketmatter.com license: name: Rocket Matter url: www.rocketmatter.com x-logo: url: https://support.rocketmatter.com/wp-content/themes/rm-support/img/rm-logo.png servers: - url: https:////API_V2 tags: - name: Rates description: Operations for user hourly rates. paths: /Rates.svc/json/GetMatterCustomRates: post: tags: - Rates description: Get user hourly rates for specified matter(s). operationId: GetMatterCustomRates responses: '200': description: Successfully processed request content: application/json: schema: $ref: '#/components/schemas/GetMatterCustomRatesResponse' '400': description: Internal server error '401': description: Unauthorized requestBody: content: application/json: schema: $ref: '#/components/schemas/GetMatterCustomRatesRequest' required: true summary: Get matter custom rates x-summary-source: derived /Rates.svc/json/SaveCustomRateConfig: post: tags: - Rates description: Create or update user hourly rates for specific matter(s). operationId: SaveCustomRateConfig responses: '200': description: Successfully processed request content: application/json: schema: $ref: '#/components/schemas/SaveCustomRateConfigResponse' '400': description: Internal server error '401': description: Unauthorized requestBody: content: application/json: schema: $ref: '#/components/schemas/SaveCustomRateConfigRequest' required: true summary: Save custom rate config x-summary-source: derived /Rates.svc/json/DeleteMatterRates: post: tags: - Rates description: Delete user hourly rates. operationId: DeleteMatterRates responses: '200': description: Successfully processed request content: application/json: schema: $ref: '#/components/schemas/DeleteMatterRatesResponse' '400': description: Internal server error '401': description: Unauthorized requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteMatterRatesRequest' required: true summary: Delete matter rates x-summary-source: derived components: schemas: MatterCustomRateFilter: type: object properties: ClientIds: type: array items: type: integer format: int32 ExcludeClients: type: boolean MatterIds: type: array items: type: integer format: int32 ExcludeMatters: type: boolean UserIds: type: array items: type: integer format: int32 ExcludeUsers: type: boolean RoleIds: type: array items: type: object StartDate: type: string format: date-time EndDate: type: string format: date-time IncludeMattersWitoutRate: type: boolean ExcludeMattersWithRate: type: boolean Offset: type: integer format: int32 Fetch: type: integer format: int32 Sort: type: string SortDescending: type: boolean CharacterValidationRule: type: object properties: ShouldMatch: type: boolean Message: type: string Regex: type: string GetMatterCustomRatesRequest: type: object properties: Filter: type: object $ref: '#/components/schemas/MatterCustomRateFilter' ValidationResult: type: object properties: MinValue: type: boolean MaxValue: type: boolean MinLength: type: boolean MaxLength: type: boolean Required: type: boolean PropertyDisplayName: type: string Precision: type: boolean ValueEntered: type: object Name: type: string ObjectName: type: string ExternalID: type: string MinValueMessage: type: string MaxValueMessage: type: string MinLengthMessage: type: string MaxLengthMessage: type: string RequiredMessage: type: string RequiredPrecisionMessage: type: string BaseFailureMessage: type: string FailedValidationMessages: type: array items: type: string FailedCharacterValidations: type: array items: $ref: '#/components/schemas/CharacterValidationRule' IsValid: type: boolean SaveCustomRateConfigRequest: type: object properties: RateConfig: type: object $ref: '#/components/schemas/CustomRateConfig' GetMatterCustomRatesResponse: type: object properties: Rates: type: array items: $ref: '#/components/schemas/UserCustomMatterRate' TotalCount: type: integer format: int32 Success: type: boolean Message: type: string ErrorMessage: type: string ErrorNumber: type: integer format: int32 FailedValidations: type: array items: $ref: '#/components/schemas/ValidationResult' Errors: type: array items: type: string DeleteMatterRatesResponse: type: object properties: Success: type: boolean Message: type: string ErrorMessage: type: string ErrorNumber: type: integer format: int32 FailedValidations: type: array items: $ref: '#/components/schemas/ValidationResult' Errors: type: array items: type: string UserCustomMatterRate: type: object properties: MatterRateId: type: integer format: int32 UserId: type: integer format: int32 Rate: type: number format: double EffectiveDate: type: string format: date-time CreatedDate: type: string format: date-time MatterId: type: integer format: int32 ClientId: type: integer format: int32 ClientMatter: type: string MatterName: type: string ClientCode: type: string UserName: type: string UserFirmRoleId: type: string UserFirmRole: type: string ID: type: integer format: int32 CustomRateConfig: type: object properties: UserMatters: type: array items: $ref: '#/components/schemas/UserCustomMatterRate' Rate: type: number format: double EffectiveDate: type: string format: date-time ID: type: integer format: int32 SaveCustomRateConfigResponse: type: object properties: Success: type: boolean Message: type: string ErrorMessage: type: string ErrorNumber: type: integer format: int32 FailedValidations: type: array items: $ref: '#/components/schemas/ValidationResult' Errors: type: array items: type: string DeleteMatterRatesRequest: type: object properties: RateIds: type: array items: type: integer format: int32