swagger: '2.0' info: version: 2.1.5 title: Global Assets API description: Global Store of reference for all assets within the Decisiv ecosystem termsOfService: https://www.decisiv.com/terms-of-use contact: name: Decisiv Support email: support@decisiv.com url: https://www.decisiv.com basePath: /api/v1/ schemes: - https consumes: - application/vnd.api+json produces: - application/vnd.api+json security: - Bearer: [] - OAuth2Password: [] TransitionToken: [] paths: /assets: get: tags: - assets description: Returns all assets in the system. Search is restricted to VIN only operationId: getAssets parameters: - $ref: '#/parameters/vinParam' responses: '200': description: List of assets in the ecosystem schema: type: array items: $ref: '#/definitions/jsonapiAssetsResponse' '400': $ref: '#/responses/BadRequest' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' default: description: unexpected error schema: $ref: '#/definitions/jsonapiErrorResponse' post: tags: - assets description: Creates a new Asset for use within the ecosystem operationId: addAsset parameters: - name: body in: body description: Asset object that will be added to the ecosystem required: true schema: $ref: '#/definitions/jsonapiAssetObject' responses: '201': description: Asset Creation Success schema: $ref: '#/definitions/jsonapiAssetResponse' '400': $ref: '#/responses/BadRequest' '422': $ref: '#/responses/UnprocessableEntity' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' /assets/{asset_id}: get: tags: - assets description: Returns an asset based on the provided ID operationId: findAssetById parameters: - $ref: '#/parameters/assetId' responses: '200': description: Asset details schema: $ref: '#/definitions/jsonapiAssetResponse' '404': description: Asset not found schema: $ref: '#/definitions/jsonapiErrorResponse' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' put: tags: - assets description: Updates an Asset record operationId: updateAsset parameters: - $ref: '#/parameters/assetId' - name: body in: body description: Updated Asset object required: true schema: $ref: '#/definitions/jsonapiAssetUpdateObject' responses: '200': description: Asset updated schema: $ref: '#/definitions/jsonapiAssetResponse' '404': description: Asset not found '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' /assets/{asset_id}/campaigns: get: tags: - assets description: Campaign information for an asset operationId: assetCampaigns parameters: - $ref: '#/parameters/assetId' responses: '200': description: Asset Campaign Information schema: $ref: '#/definitions/jsonapiCampaignResponse' '404': description: Asset not found '412': $ref: '#/responses/PreconditionFailed' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' /assets/{asset_id}/recalls: get: tags: - assets description: Recall information for an asset operationId: assetRecalls parameters: - $ref: '#/parameters/assetId' responses: '200': description: Asset Recall Information schema: $ref: '#/definitions/jsonapiRecallResponse' '404': description: Asset not found '412': $ref: '#/responses/PreconditionFailed' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' /assets/{asset_id}/warranties: get: tags: - assets description: Waranty information for an asset operationId: assetWarranties parameters: - $ref: '#/parameters/assetId' responses: '200': description: Asset Warranty Information schema: $ref: '#/definitions/jsonapiWarrantyResponse' '404': description: Asset not found '412': $ref: '#/responses/PreconditionFailed' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' /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 type: string - $ref: '#/parameters/historySort' - $ref: '#/parameters/occurredBeforeParam' - $ref: '#/parameters/occurredAfterParam' - $ref: '#/parameters/caseIdParam' responses: '200': description: Service History details schema: $ref: '#/definitions/jsonapiServiceHistoryResponse' '404': description: Asset not found '412': $ref: '#/responses/PreconditionFailed' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' /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 type: string responses: '200': description: Build Information details schema: $ref: '#/definitions/jsonapiBuildInformationResponse' '404': description: Asset not found '412': $ref: '#/responses/PreconditionFailed' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '504': $ref: '#/responses/GatewayTimeout' /vins/{vin}: get: tags: - OEM info description: Returns OEM information for given VIN number operationId: getVinInformation parameters: - $ref: '#/parameters/fullVinRequiredParam' responses: '200': description: OEM vin information schema: $ref: '#/definitions/jsonapiVinResponse' '400': $ref: '#/responses/BadRequestVinValidation' '429': description: Too Many Requests schema: $ref: '#/definitions/tooManyRequestsResponse' '502': $ref: '#/responses/BadGateway' '504': $ref: '#/responses/GatewayTimeout' default: description: unexpected error schema: $ref: '#/definitions/jsonapiErrorResponse' responses: BadGateway: description: 502 Bad Gateway Error schema: $ref: '#/definitions/Error' GatewayTimeout: description: 504 Gateway Timeout Error schema: $ref: '#/definitions/Error' UnprocessableEntity: description: 422 Unprocessable Entity schema: $ref: '#/definitions/Error' BadRequest: description: 400 Bad Request schema: $ref: '#/definitions/Error' BadRequestVinValidation: description: 400 Bad Request schema: $ref: '#/definitions/VinValidationError' PreconditionFailed: description: 412 Precondition Failed schema: $ref: '#/definitions/PreconditionFailedError' definitions: jsonapiAssetObject: type: object required: - data properties: data: type: object properties: type: type: string example: assets attributes: allOf: - $ref: '#/definitions/asset' 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: '#/definitions/assetUpdate' jsonapiAssetResponse: type: object properties: data: type: object required: - id - type - attributes properties: attributes: allOf: - $ref: '#/definitions/asset' - $ref: '#/definitions/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: '#/definitions/JSONAPI_BuildInformationLinks' campaigns: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_CampaignsLinks' recalls: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_RecallsLinks' service_history: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_ServiceHistoryLinks' warranties: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_WarrantiesLinks' links: allOf: - $ref: '#/definitions/JSONAPI_AssetLinks' jsonapiAssetsResponse: type: object properties: data: type: array items: type: object required: - id - type - attributes properties: attributes: allOf: - $ref: '#/definitions/asset' - type: object properties: serial_number: type: string example: DC591345 - $ref: '#/definitions/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: '#/definitions/JSONAPI_BuildInformationLinks' campaigns: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_CampaignsLinks' recalls: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_RecallsLinks' service_history: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_ServiceHistoryLinks' warranties: type: object properties: links: allOf: - $ref: '#/definitions/JSONAPI_WarrantiesLinks' links: allOf: - $ref: '#/definitions/JSONAPI_AssetLinks' links: allOf: - $ref: '#/definitions/JSONAPI_PaginationLinks' 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" assetUpdate: type: object properties: odometer_value: type: integer example: 25321 notes: type: string example: sample note maxLength: 2000 assetResponse: allOf: - $ref: '#/definitions/identifier' - $ref: '#/definitions/asset' - type: object properties: serial_number: type: string example: DC591345 available_to_transfer: type: boolean example: true - $ref: '#/definitions/audit_details' identifier: type: object properties: id: type: string description: Unique identifier for the record example: 19 jsonapiWarrantyResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/definitions/warrantyResponse' id: type: string example: '88' type: type: string example: warranties jsonapiCampaignResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/definitions/warrantyResponse' id: type: string example: '88' type: type: string example: campaigns jsonapiRecallResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/definitions/warrantyResponse' id: type: string example: VLV-RC-000-X1111 type: type: string example: recalls links: allOf: - $ref: '#/definitions/JSONAPI_Links' 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 audit_details_vins: type: object properties: inserted_at: type: string format: date-time description: Timestamp record was created updated_at: type: string format: date-time description: Timestamp record was last updated 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 jsonapiVinResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/definitions/vinResponse' id: type: string example: 1C4RJFATXDC591345 type: type: string example: vins links: type: object properties: self: type: string format: url links: allOf: - $ref: '#/definitions/JSONAPI_Links' vinResponse: type: object properties: engine_make: type: string example: Cummins engine_name: type: string example: ISX12G make: type: string example: Kenworth model: type: string example: T680 year: type: string example: 2017 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 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: '#/definitions/buildInformationResponse' jsonapiServiceHistoryResponse: type: object properties: data: type: array items: type: object required: - attributes - id - type properties: attributes: allOf: - $ref: '#/definitions/serviceHistoryResponse' id: type: integer example: 87 type: type: string example: service_history links: allOf: - $ref: '#/definitions/JSONAPI_Links' 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 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: '#/definitions/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 jsonapiErrorResponse: type: object properties: errors: type: array items: $ref: '#/definitions/JSONAPI_Errors' JSONAPI_DocumentLink: title: JSONAPI_DocumentLink type: string description: 'A "JSON API" document link. ' JSONAPI_AssetDocumentLink: title: JSONAPI_AssetDocumentLink type: string example: https://global-assets.preview.decisivapps.com/v1/assets/37ef3f02-2098-4fd3-b4e1-b2faa8e79057 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 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 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_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 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_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 JSONAPI_Included: title: JSONAPI_Included description: 'An array of resource objects that are related to the primary data and/or each other (“included resources”). ' type: array items: type: object properties: type: type: string id: type: string attributes: type: object JSONAPI_jsonapi: title: JSONAPI_jsonapi type: object description: An object describing the server's implementation. properties: version: type: string description: the highest JSON API supported. example: '1.0' 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: '#/definitions/JSONAPI_Error' 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. 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: '#/definitions/JSONAPI_DocumentLink' related: $ref: '#/definitions/JSONAPI_DocumentLink' 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: '#/definitions/JSONAPI_AssetDocumentLink' platform_api: $ref: '#/definitions/JSONAPI_PlatformAPILink' 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: '#/definitions/JSONAPI_BuildInformationLink' related: $ref: '#/definitions/JSONAPI_BuildInformationLink' 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: '#/definitions/JSONAPI_CampaignsLink' related: $ref: '#/definitions/JSONAPI_CampaignsLink' 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: '#/definitions/JSONAPI_RecallsLink' related: $ref: '#/definitions/JSONAPI_RecallsLink' 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: '#/definitions/JSONAPI_ServiceHistoryLink' related: $ref: '#/definitions/JSONAPI_ServiceHistoryLink' 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: '#/definitions/JSONAPI_WarrantiesLink' related: $ref: '#/definitions/JSONAPI_WarrantiesLink' 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 JSONAPI_meta: title: JSONAPI_meta type: object description: A meta object that contains non-standard meta-information. properties: authors: type: array items: type: string copyright: type: string Error: type: object properties: title: type: string detail: type: string code: type: string status: type: string required: - title - detail - code - status ForbiddenError: type: object properties: title: type: string example: Access forbidden detail: type: string example: Access forbidden code: type: string example: '403' status: type: string example: '403' required: - title - detail - code - status 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 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 tooManyRequestsResponseError: title: Too Many Requests type: array description: 'Access restricted for a given user or application due to undesired behavior ' items: $ref: '#/definitions/tooManyRequestsResponseErrorWithExample' tooManyRequestsResponse: type: object properties: errors: items: $ref: '#/definitions/tooManyRequestsResponseErrorWithExample' type: array allOf: - $ref: '#/definitions/tooManyRequestsResponseError' VinValidationError: type: object properties: title: type: string example: Invalid format detail: type: string example: vin - invalid format code: type: string example: '100' meta: type: object properties: decisiv_code: type: string description: "The error code why the VIN is invalid. Error codes: \n* invalid check digit: '100:vins:01' \n* invalid\ \ size: '100:vins:02' \n* invalid charater_i: '100:vins:03' \n* invalid charater o: '100:vins:04' \n* invalid\ \ charater q: '100:vins:05' \n* invalid format: '100:vins:06'" example: 100:vins:06 status: type: string example: '400' source: type: object properties: pointer: type: string example: /data/attributes/vin required: - title - detail - code - meta - status - source parameters: 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 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 type: string format: YYYYMMDD occurredBeforeParam: name: filter[occurred_before] in: query description: 'Return records occurred before date, ex: 20170101 (YYYYMMDD)' required: false type: string format: YYYYMMDD caseIdParam: name: filter[case_id] in: query description: 'Return records based on the given case_id, ex: 3243' required: false type: string minLength: 1 maxLength: 20 vinParam: name: filter[vin] in: query description: 17 character VIN number required: true type: string minLength: 12 maxLength: 17 fullVinRequiredParam: name: vin in: path description: 17 character VIN number required: true type: string minLength: 17 maxLength: 17 serialParam: name: filter[serial_number] in: query description: 'Partial match for a serial number, ex: 2112*' required: false type: string minLength: 3 maxLength: 9 unitNumberParam: name: filter[unit_number] in: query description: Unit Number to filter collection by required: false minLength: 3 maxLength: 99 type: string assetId: name: asset_id in: path description: UUID of Asset to fetch required: true type: string customerId: name: customer_id in: path description: ID of Customer required: true type: string createdBeforeParam: name: created_before in: query description: 'Return records created before date, ex: 20170101 (YYYYMMDD)' required: false type: string format: YYYYMMDD createdAfterParam: name: created_after in: query description: 'Return records created after date, ex: 20170101 (YYYYMMDD)' required: false type: string format: YYYYMMDD serviceLocationIdParam: name: service_location_id in: query required: false description: ID of Service Location type: string updatedBeforeParam: name: updated_before in: query description: 'Return records updated before date, ex: 20170101 (YYYYMMDD)' required: false type: string format: YYYYMMDD updatedAfterParam: name: updated_after in: query description: 'Return records updated after date, ex: 20170101 (YYYYMMDD)' required: false type: string format: YYYYMMDD securityDefinitions: 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 flow: password description: Oauth flow with Transition Token. See https://api-docs.decisiv.net/docs/api/oauth/ tokenUrl: https://portal.decisivapps.com/oauth/token Bearer: type: apiKey name: Authorization in: header