openapi: 3.2.0 info: title: Decisiv Assets API contact: name: Decisiv Support email: support@decisiv.com url: https://www.decisiv.com termsOfService: https://www.decisiv.com/terms-of-use version: '1.0' description: 'Operations tagged assets across 2 of this provider''s published API definitions: decisiv-global-assets-openapi.yml, decisiv-service-provider-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: /api/v1/ security: - Bearer: [] - OAuth2Password: [] TransitionToken: [] tags: - name: assets paths: /assets: get: tags: - assets description: Returns all assets in the system. Search is restricted to VIN only operationId: getAssets parameters: - $ref: '#/components/parameters/vinParam' responses: '200': description: List of assets in the ecosystem content: application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/jsonapiAssetsResponse' '400': $ref: '#/components/responses/BadRequest' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' default: description: unexpected error content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiErrorResponse' post: tags: - assets description: Creates a new Asset for use within the ecosystem operationId: addAsset responses: '201': description: Asset Creation Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiAssetResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' requestBody: content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiAssetObject' description: Asset object that will be added to the ecosystem required: true servers: - url: /api/v1/ /assets/{asset_id}: get: tags: - assets description: Returns an asset based on the provided ID operationId: findAssetById parameters: - $ref: '#/components/parameters/assetId' responses: '200': description: Asset details content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiAssetResponse' '404': description: Asset not found content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiErrorResponse' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' put: tags: - assets description: Updates an Asset record operationId: updateAsset parameters: - $ref: '#/components/parameters/assetId' responses: '200': description: Asset updated content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiAssetResponse' '404': description: Asset not found '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' requestBody: content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiAssetUpdateObject' description: Updated Asset object required: true delete: tags: - assets description: Removes a Customer Asset from a Customers' inventory based upon ID operationId: RemoveCustomerAssetById parameters: - $ref: '#/components/parameters/assetId_2' responses: '204': description: Asset Removed '404': description: Asset not found content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiErrorResponse_2' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' servers: - url: /api/v1/ /assets/{asset_id}/campaigns: get: tags: - assets description: Campaign information for an asset operationId: assetCampaigns parameters: - $ref: '#/components/parameters/assetId' responses: '200': description: Asset Campaign Information content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiCampaignResponse' '404': description: Asset not found '412': $ref: '#/components/responses/PreconditionFailed' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' servers: - url: /api/v1/ /assets/{asset_id}/recalls: get: tags: - assets description: Recall information for an asset operationId: assetRecalls parameters: - $ref: '#/components/parameters/assetId' responses: '200': description: Asset Recall Information content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiRecallResponse' '404': description: Asset not found '412': $ref: '#/components/responses/PreconditionFailed' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' servers: - url: /api/v1/ /assets/{asset_id}/warranties: get: tags: - assets description: Waranty information for an asset operationId: assetWarranties parameters: - $ref: '#/components/parameters/assetId' responses: '200': description: Asset Warranty Information content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiWarrantyResponse' '404': description: Asset not found '412': $ref: '#/components/responses/PreconditionFailed' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' servers: - url: /api/v1/ /assets/{asset_id}/service_history: get: tags: - assets description: Returns the Service History for an Asset by ID operationId: findServiceHistoryById parameters: - name: asset_id in: path description: UUID of Asset to fetch required: true schema: type: string - $ref: '#/components/parameters/historySort' - $ref: '#/components/parameters/occurredBeforeParam' - $ref: '#/components/parameters/occurredAfterParam' - $ref: '#/components/parameters/caseIdParam' responses: '200': description: Service History details content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiServiceHistoryResponse' '404': description: Asset not found '412': $ref: '#/components/responses/PreconditionFailed' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' servers: - url: /api/v1/ /assets/{asset_id}/build_information: get: tags: - assets description: Returns the Build Information for an Asset by ID operationId: findBuildInformationById parameters: - name: asset_id in: path description: UUID of Asset to fetch required: true schema: type: string responses: '200': description: Build Information details content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiBuildInformationResponse' '404': description: Asset not found '412': $ref: '#/components/responses/PreconditionFailed' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' '504': $ref: '#/components/responses/GatewayTimeout' servers: - url: /api/v1/ components: parameters: assetId: name: asset_id in: path description: UUID of Asset to fetch required: true schema: type: string caseIdParam: name: filter[case_id] in: query description: 'Return records based on the given case_id, ex: 3243' required: false schema: type: string maxLength: 20 minLength: 1 vinParam: name: filter[vin] in: query description: 17 character VIN number required: true schema: type: string maxLength: 17 minLength: 12 occurredBeforeParam: name: filter[occurred_before] in: query description: 'Return records occurred before date, ex: 20170101 (YYYYMMDD)' required: false schema: type: string format: YYYYMMDD historySort: name: sort in: query description: 'Return records ordered by specified attribute, in ascending order. For descending order the sort attribute is prepended by a ''-''. ' required: false schema: type: string enum: - case_id - -case_id - occurred_at - -occurred_at occurredAfterParam: name: filter[occurred_after] in: query description: 'Return records occurred after date, ex: 20170101 (YYYYMMDD)' required: false schema: type: string format: YYYYMMDD assetId_2: name: asset_id in: path description: ID of Customer Asset to fetch required: true schema: type: integer customerIdParam: name: filter[customer_id] in: query required: false description: ID of Customer to filter by schema: type: string vinParam_2: name: filter[vin] in: query description: 'Partial match for a VIN, ex: JN1AR5XXXXXX*' required: false schema: type: string maxLength: 17 minLength: 12 serialParam: name: filter[serial_number] in: query description: 'Partial match for a serial number, ex: 2112*' required: false schema: type: string maxLength: 9 minLength: 3 unitNumberParam: name: filter[unit_number] in: query required: false description: Unit Number to filter collection by schema: type: string minLength: 3 schemas: JSONAPI_BuildInformationLinks: title: JSONAPI_BuildInformationLinks type: object description: 'Where specific, a links member can be used to represent links. The value of each "links" member MUST be a `links` object. ' properties: self: $ref: '#/components/schemas/JSONAPI_BuildInformationLink' related: $ref: '#/components/schemas/JSONAPI_BuildInformationLink' JSONAPI_Error: title: JSONAPI_Error type: object description: 'Error objects provide additional information about problems encountered while performing an operation. Error objects MUST be returned as an array keyed by `errors` in the top level of a JSON API document. An error object MAY have the following members. ' properties: code: type: string description: an application-specific error code, expressed as a string value. detail: type: string description: 'A human-readable explanation specific to this occurrence of the problem. Like `title`, this field''s value can be localized. ' id: description: a unique identifier for this particular ocurrence of the problem. type: string links: description: a links object containing the following members. type: object properties: about: type: string description: a link that leads to further details about this particular occurrence of the problem. meta: type: object description: a meta object containing non-standard meta-information about the error. status: type: string description: the HTTP status code applicable to this problem, expressed as a string value. source: type: object description: an object containing references to the source of the error, optionally including any of the following members. properties: parameter: type: string description: a string indicating which URI query parameter caused the error. pointer: type: string description: a JSON pointer (RFC6901) to the associated entity in the request document. title: type: string description: a short, human-readable summary of the problem that should not change from occurrence to occurrence of the problem, except for purposes of localization. tooManyRequestsResponseError: title: Too Many Requests type: array description: 'Access restricted for a given user or application due to undesired behavior ' items: $ref: '#/components/schemas/tooManyRequestsResponseErrorWithExample' JSONAPI_AssetLinks: title: JSONAPI_AssetLinks type: object description: 'Where specific, a links member can be used to represent links. The value of each "links" member MUST be a `links` object. ' properties: self: $ref: '#/components/schemas/JSONAPI_AssetDocumentLink' platform_api: $ref: '#/components/schemas/JSONAPI_PlatformAPILink' audit_details: type: object properties: created_at: type: string format: date-time description: Timestamp record was created updated_at: type: string format: date-time description: Timestamp record was last updated created_by: type: string description: Username of user which created the record example: current_user updated_by: type: string description: Username of user which last updated the record example: current_user serviceHistoryResponse: type: object properties: case_id: type: integer example: 1001001 created_by: type: string example: Wilson occurred_at: type: string format: date-time service_provider: type: string example: Hood Trucking customer: type: string example: Harpua Nationwide complaint: type: string example: leaking oil cause: type: string example: broken seal correction: type: string example: replaced bolt operations: $ref: '#/components/schemas/estimateItems' notes: type: array items: type: object properties: note: type: string date: type: string format: date-time from: type: string customer_id: type: integer example: 1138 service_provider_id: type: integer example: 2112 user_id: type: integer example: 19 vmrs_repair_priority: type: object description: VMRS Code Key 16 properties: code: type: string example: '3' description: type: string example: Emergency vmrs_complaints: type: array description: VMRS Code Key 82 items: type: object properties: code: type: string example: '054' description: type: string example: Hesitation/Surges/Bucks/ Jerks on Acceleration vmrs_reason_for_repair: type: object description: VMRS Code Key 14 properties: code: type: string example: '01' description: type: string example: Breakdown vmrs_component: type: object description: VMRS Code Key 33 properties: code: type: string example: 011-001-013 description: type: string example: Plug - Grease, King Pin vmrs_position: type: object description: VMRS Code Key 79 properties: code: type: string example: '63' description: type: string example: Rear Left Top/Upper warrantyResponse: type: object properties: oem_id: type: string example: THX1138 name: type: string example: WHEEL BEARING INSPECTION category: type: string start_date: type: string format: date-time end_date: type: string format: date-time JSONAPI_WarrantiesLink: title: JSONAPI_WarrantiesLink type: string description: Link to the corresponding asset in the Platform API example: https://api.preview.decisivapps.com/api/v1/assets/68652a0c-d47e-11ed-810a-e2ee48e368d3/warranties tooManyRequestsResponseErrorWithExample: title: tooManyRequestsResponseErrorWithExample type: object description: 'Error objects provide additional information about problems encountered while performing an operation. Error objects MUST be returned as an array keyed by `errors` in the top level of a JSON API document. An error object MAY have the following members. ' properties: code: type: string description: an application-specific error code, expressed as a string value. example: '429' detail: type: string description: 'A human-readable explanation specific to this occurrence of the problem. Like `title`, this field''s value can be localized. ' example: The maximum number of requests for this application has been far exceeded with the given credentials. Please refer to the Retry-After header for additional information about when requests may be successfully processed again. status: type: string description: the HTTP status code applicable to this problem, expressed as a string value. example: '429' title: type: string description: a short, human-readable summary of the problem that should not change from occurrence to occurrence of the problem, except for purposes of localization. example: Too Many Requests JSONAPI_CampaignsLinks: title: JSONAPI_CampaignsLinks type: object description: 'Where specific, a links member can be used to represent links. The value of each "links" member MUST be a `links` object. ' properties: self: $ref: '#/components/schemas/JSONAPI_CampaignsLink' related: $ref: '#/components/schemas/JSONAPI_CampaignsLink' jsonapiErrorResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/JSONAPI_Errors' JSONAPI_DocumentLink: title: JSONAPI_DocumentLink type: string description: 'A "JSON API" document link. ' JSONAPI_ServiceHistoryLinks: title: JSONAPI_ServiceHistoryLinks type: object description: 'Where specific, a links member can be used to represent links. The value of each "links" member MUST be a `links` object. ' properties: self: $ref: '#/components/schemas/JSONAPI_ServiceHistoryLink' related: $ref: '#/components/schemas/JSONAPI_ServiceHistoryLink' JSONAPI_BuildInformationLink: title: JSONAPI_BuildInformationLink type: string description: Link to the corresponding asset in the Platform API example: https://api.preview.decisivapps.com/api/v1/assets/68652a0c-d47e-11ed-810a-e2ee48e368d3/build_information assetUpdate: type: object properties: odometer_value: type: integer example: 25321 notes: type: string example: sample note maxLength: 2000 asset: type: object required: - vin - make - model - odometer_unit properties: vin: type: string minLength: 17 maxLength: 17 example: 1C4RJFATXDC591345 serial_number: type: string minLength: 8 maxLength: 9 example: DC591345 make: type: string example: Mack maxLength: 30 model: type: string example: CV713 maxLength: 30 engine_make: type: string example: Mack maxLength: 30 engine_name: type: string example: C7 maxLength: 30 year: type: integer minLength: 4 maxLength: 4 example: 1986 odometer_value: type: integer example: 25321 odometer_unit: type: string enum: - miles - kilometers maxLength: 10 notes: type: string example: sample note maxLength: 2000 unit_number: type: string example: Omaha maxLength: 40 vmrs_asset_type: type: string enum: - D - A - F - '7' - AH - AP - B - G - C - CC - CU - '8' - I - J - E - K - FE - '4' - T - H - LT - L - '0' - N - M - W - U - MA - Z - P - X - Q - R - '3' - S - '6' - O - '9' - '2' - '5' - '1' - V - Y - LC - MW - SH minLength: 1 maxLength: 2 description: "VMRS Asset Type Mapping:\n * `D` - Agricultural Equipment\n * `A` - Airline Ground Support Equipment\n * `F` - Asphalt, Road Surfacing/Maintenance Equipment\n * `7` - Automobile\n * `AH` - Auxiliary Mounted Heater\n * `AP` - Auxiliary Power Unit (APU)\n * `B` - Bus\n * `G` - Compaction Equipment\n * `C` - Container\n * `CC` - Container Rails (Canadian Size & Weight Limits)\n * `CU` - Container Rails (US)\n * `8` - Converters (includes Converter Dollies, Tandem Axle Bogies, and Attachable Trailing Axles\n * `I` - Crushing and Conveying Equipment\n * `J` - Drilling Equipment\n * `E` - Engineering and Construction Equipment\n * `K` - Excavating Equipment\n * `FE` - Foreign Equipment\n * `4` - Full Trailer\n * `T` - Full Trailer (Canadian Size & Weight Limits)\n * `H` - Hoist and Derrick Equipment\n * `LC` - Lawn Care Equipment\n * `LT` - Lease Tractor\n * `L` - Lifting Equipment\n * `0` - Maintenance Facility Equipment\n * `N` - Marine Equipment\n * `M` - Material Handling Equipment\n * `W` - Mini-Bus\n * `U` - Mini-Van\n * `MA` - Motorcycle/ATV\n * `MW` - Mower\n * `Z` - Other/Miscellaneous\n * `P` - Pile Driving Equipment\n * `X` - Power Delivery\n * `Q` - Pumping Equipment\n * `R` - Refrigeration\n * `3` - Semi-Trailer\n * `S` - Semi-Trailer (Canadian Size & Weight Limits)\n * `6` - Service Vehicle\n * `SH` - Snow Handling Equipment\n * `O` - Stationary Equipment\n * `9` - Terminal Equipment\n * `2` - Tractor\n * `5` - Tractor-Trailer Combination (Required for Uniform System of Accounts)\n * `1` - Truck\n * `V` - Tunneling Equipment\n * `Y` - Van\n" Error: type: object properties: title: type: string detail: type: string code: type: string status: type: string required: - title - detail - code - status JSONAPI_CampaignsLink: title: JSONAPI_CampaignsLink type: string description: Link to the corresponding asset in the Platform API example: https://api.preview.decisivapps.com/api/v1/assets/68652a0c-d47e-11ed-810a-e2ee48e368d3/campaigns JSONAPI_WarrantiesLinks: title: JSONAPI_RelationshipsLinks type: object description: 'Where specific, a links member can be used to represent links. The value of each "links" member MUST be a `links` object. ' properties: self: $ref: '#/components/schemas/JSONAPI_WarrantiesLink' related: $ref: '#/components/schemas/JSONAPI_WarrantiesLink' buildInformationResponse: type: object properties: body_style_description: type: string chassis_division_code: type: string chassis_number: type: string dealer_code: type: string dealer_division_code: type: string dpf_make: type: string dpf_model: type: string dpf_serial_number: type: string engine_brake_type_code: type: string engine_brake_type_description: type: string engine_family: type: string engine_make: type: string engine_model: type: string engine_model_number: type: string engine_model_year: type: string engine_serial_number: type: string engine_size: type: string engine_type: type: string error_code: type: string error_description: type: string exhaust_type_code: type: string exhaust_type_description: type: string exterior_color_description: type: string fifth_wheel_type_code: type: string fifth_wheel_type_description: type: string fleet: type: string front_axle_manufacturer_code: type: string front_axle_manufacturer_name: type: string front_axle_model_number: type: string front_axle_serial_number: type: string front_of_rear_axle_manufacturer_code: type: string front_of_rear_axle_manufacturer_name: type: string front_of_rear_axle_model_number: type: string front_of_rear_axle_serial_number: type: string front_wheel_type_code: type: string front_wheel_type_description: type: string fuel_capacity_total: type: string fuel_tanks_count: type: string gross_vehicle_weight: type: string horsepower: type: string in_service_date: type: string interior_color_description: type: string model_series_code: type: string model_year: type: string order_year: type: string rear_axle_manufacturer_code: type: string rear_axle_manufacturer_name: type: string rear_axle_model_number: type: string rear_axle_ratio: type: string rear_axle_serial_number: type: string rear_wheel_type_code: type: string rear_wheel_type_description: type: string recall: type: string region: type: string select_date: type: string sleeper_box_length: type: string state: type: string suspension_type_code: type: string suspension_type_description: type: string transmission_manufacturer_code: type: string transmission_manufacturer_name: type: string transmission_model: type: string transmission_model_number: type: string transmission_serial_number: type: string vehicle_assembly_date: type: string vehicle_base_model_number: type: string vehicle_configuration_code: type: string vehicle_identification_number: type: string vehicle_make: type: string vehicle_model_number: type: string estimateItems: type: array items: type: object properties: operation_name: type: string parts: type: array items: properties: name: type: string number: type: string approval_status: type: string example: sold enum: - sold - not sold - deferred PreconditionFailedError: type: object properties: title: type: string example: Precondition Failed detail: type: string example: An unmet requirement with record 37ef3f02-2098-4fd3-b4e1-b2faa8e79057 caused the request to fail code: type: string example: '412' status: type: string example: '412' meta: type: object properties: retry_after: type: integer default: 5 example: 5 description: how long the user agent should wait (in seconds) before making a follow-up request required: - title - detail - code - status - meta jsonapiAssetUpdateObject: type: object required: - data properties: data: type: object properties: type: type: string example: assets id: type: string example: 37ef3f02-2098-4fd3-b4e1-b2faa8e79057 attributes: allOf: - $ref: '#/components/schemas/assetUpdate' jsonapiAssetObject: type: object required: - data properties: data: type: object properties: type: type: string example: assets attributes: allOf: - $ref: '#/components/schemas/asset' jsonapiCampaignResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/components/schemas/warrantyResponse' id: type: string example: '88' type: type: string example: campaigns jsonapiAssetResponse: type: object properties: data: type: object required: - id - type - attributes properties: attributes: allOf: - $ref: '#/components/schemas/asset' - $ref: '#/components/schemas/audit_details' id: type: string example: 37ef3f02-2098-4fd3-b4e1-b2faa8e79057 type: type: string example: assets relationships: type: object properties: build_information: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_BuildInformationLinks' campaigns: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_CampaignsLinks' recalls: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_RecallsLinks' service_history: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_ServiceHistoryLinks' warranties: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_WarrantiesLinks' links: allOf: - $ref: '#/components/schemas/JSONAPI_AssetLinks' JSONAPI_Links: title: JSONAPI_Links type: object description: 'Where specific, a links member can be used to represent links. The value of each "links" member MUST be a `links` object. ' properties: self: $ref: '#/components/schemas/JSONAPI_DocumentLink' related: $ref: '#/components/schemas/JSONAPI_DocumentLink' JSONAPI_PaginationLinks: title: JSONAPI_PaginationLinks type: object description: pagination links for a JSONAPI List properties: first: type: string example: https://global-assets.preview.decisivapps.com/api/v1/assets?page%5Bnumber%5D=1&page%5Bsize%5D=20 next: type: string example: https://global-assets.preview.decisivapps.com/api/v1/assets?page%5Bnumber%5D=2&page%5Bsize%5D=20 jsonapiServiceHistoryResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/components/schemas/serviceHistoryResponse' id: type: integer example: 87 type: type: string example: service_history links: allOf: - $ref: '#/components/schemas/JSONAPI_Links' JSONAPI_Errors: title: JSONAPI_Errors type: array description: 'A server MAY choose to stop processing as soon as a problem is encountered, or it MAY continue processing and encounter multiple problems. When a server encounters multiple problems for a single request, the most generally applicaple HTTP error code SHOULD be used in the response. For instance, `400 Bad Request` might be appropriate for multiple 4xx errors or `500 Internal Server Error` might be appropriate for multiple 5xx errors. ' items: $ref: '#/components/schemas/JSONAPI_Error' JSONAPI_ServiceHistoryLink: title: JSONAPI_PlatformAPILink type: string description: Link to the corresponding asset in the Platform API example: https://api.preview.decisivapps.com/api/v1/assets/68652a0c-d47e-11ed-810a-e2ee48e368d3/service_history JSONAPI_PlatformAPILink: title: JSONAPI_PlatformAPILink type: string description: Link to the corresponding asset in the Platform API example: https://api.preview.decisivapps.com/platform_api/assets/2112 jsonapiWarrantyResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/components/schemas/warrantyResponse' id: type: string example: '88' type: type: string example: warranties jsonapiAssetsResponse: type: object properties: data: type: array items: type: object required: - id - type - attributes properties: attributes: allOf: - $ref: '#/components/schemas/asset' - type: object properties: serial_number: type: string example: DC591345 - $ref: '#/components/schemas/audit_details' id: type: string example: 37ef3f02-2098-4fd3-b4e1-b2faa8e79057 type: type: string example: assets relationships: type: object properties: build_information: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_BuildInformationLinks' campaigns: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_CampaignsLinks' recalls: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_RecallsLinks' service_history: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_ServiceHistoryLinks' warranties: type: object properties: links: allOf: - $ref: '#/components/schemas/JSONAPI_WarrantiesLinks' links: allOf: - $ref: '#/components/schemas/JSONAPI_AssetLinks' links: allOf: - $ref: '#/components/schemas/JSONAPI_PaginationLinks' JSONAPI_RecallsLinks: title: JSONAPI_RecallsLinks type: object description: 'Where specific, a links member can be used to represent links. The value of each "links" member MUST be a `links` object. ' properties: self: $ref: '#/components/schemas/JSONAPI_RecallsLink' related: $ref: '#/components/schemas/JSONAPI_RecallsLink' jsonapiBuildInformationResponse: type: object properties: data: type: object required: - attributes - id - type properties: id: type: string example: 37ef3f02-2098-4fd3-b4e1-b2faa8e79057 type: type: string example: build_information attributes: allOf: - $ref: '#/components/schemas/buildInformationResponse' jsonapiRecallResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/components/schemas/warrantyResponse' id: type: string example: VLV-RC-000-X1111 type: type: string example: recalls links: allOf: - $ref: '#/components/schemas/JSONAPI_Links' tooManyRequestsResponse: type: object properties: errors: items: $ref: '#/components/schemas/tooManyRequestsResponseErrorWithExample' type: array allOf: - $ref: '#/components/schemas/tooManyRequestsResponseError' JSONAPI_AssetDocumentLink: title: JSONAPI_AssetDocumentLink type: string example: https://global-assets.preview.decisivapps.com/v1/assets/37ef3f02-2098-4fd3-b4e1-b2faa8e79057 JSONAPI_RecallsLink: title: JSONAPI_RecallsLink type: string description: Link to the corresponding asset in the Platform API example: https://api.preview.decisivapps.com/api/v1/assets/68652a0c-d47e-11ed-810a-e2ee48e368d3/recalls jsonapiCustomerAssetsResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/components/schemas/customerAsset' - $ref: '#/components/schemas/audit_details' id: type: integer example: 88 type: type: string example: assets links: allOf: - $ref: '#/components/schemas/JSONAPI_Links' jsonapiErrorResponse_2: type: object properties: errors: items: $ref: '#/components/schemas/JSONAPI_Errors' type: array allOf: - $ref: '#/components/schemas/JSONAPI_Errors' jsonapiCustomerAssetResponse: type: object properties: data: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/components/schemas/customerAsset' - $ref: '#/components/schemas/audit_details' id: type: integer example: 88 type: type: string example: assets links: type: object properties: self: type: string format: url JSONAPI_DocumentLink_2: title: JSONAPI_DocumentLink type: string description: 'A "JSON API" document link. ' example: http://link.to/resource jsonapiAssetCustomerObject: type: object required: - data properties: data: type: object properties: type: type: string example: assets attributes: allOf: - $ref: '#/components/schemas/assetCustomerId' UnprocessableEntityErrorFleetOwned: type: object properties: title: type: string example: Asset not available for assignment to this account detail: type: string example: asset_id - Asset not available forassignment to this account code: type: string example: '100' source: type: object properties: pointer: type: string example: /data/attributes/asset_id status: type: string example: '422' required: - title - detail - code - status customerAsset: type: object properties: customer_id: type: integer description: Customer ID example: 42 asset_id: type: string description: Asset UUID example: c441e9ee-d990-4759-b6ab-00230ab6647e vin: type: string minLength: 17 maxLength: 17 example: 1C4RJFATXDC591345 serial_number: type: string example: DC591345 unit_number: type: string description: Unit Number example: VT84 assetCustomerId: type: object properties: asset_id: type: string description: UUID of Asset from Assets API example: c441e9ee-d990-4759-b6ab-00230ab6647e customer_id: type: integer description: ID of Customer from /customers responses: BadRequest: description: 400 Bad Request content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error' UnprocessableEntity: description: 422 Unprocessable Entity content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error' PreconditionFailed: description: 412 Precondition Failed content: application/vnd.api+json: schema: $ref: '#/components/schemas/PreconditionFailedError' GatewayTimeout: description: 504 Gateway Timeout Error content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error' UnprocessableEntityFleetOwned: description: Assets owned by fleets can not currently be assigned to Local Customers content: application/vnd.api+json: schema: $ref: '#/components/schemas/UnprocessableEntityErrorFleetOwned' securitySchemes: TransitionToken: type: apiKey in: header name: X-Decisiv-Transition-Token description: The transition token must be specified when using OAuth. Please see https://api-docs.decisiv.net/docs/api/oauth/ OAuth2Password: type: oauth2 flows: password: scopes: {} tokenUrl: https://portal.decisivapps.com/oauth/token description: Oauth flow with Transition Token. See https://api-docs.decisiv.net/docs/api/oauth/ Bearer: type: apiKey name: Authorization in: header x-refined-from: - decisiv-global-assets-openapi.yml - decisiv-service-provider-openapi.yml