swagger: '2.0' info: title: NHTSA childSeats equipment API version: 1.6.0 description: Child Seat search and list endpoints tags: - description: Equipment search and list endpoints name: equipment paths: /equipment: get: consumes: - application/json parameters: - allowEmptyValue: false collectionFormat: csv description: A comma separated list of data to return (complaints, recalls, investigations, manufacturerCommunications, none, all), defaults to 'all'. format: '' in: query name: data required: false type: string - allowEmptyValue: false collectionFormat: csv description: brand of equipment format: '' in: query name: brand required: false type: string - allowEmptyValue: false collectionFormat: csv description: model of the equipment format: '' in: query name: modelName required: false type: string - $ref: '#/parameters/EquipmentSort' - allowEmptyValue: false collectionFormat: csv default: desc description: order in which to sort enum: - asc - desc format: '' in: query name: order required: false type: string - allowEmptyValue: false collectionFormat: csv description: The maximum number of records to return format: int32 in: query name: max required: false type: integer - allowEmptyValue: false collectionFormat: csv description: The offset of the records set to return for pagination. format: int32 in: query name: offset required: false type: integer produces: - application/json responses: '200': description: Returns zero or more equipment schema: items: $ref: '#/definitions/EquipmentWrapped' title: ArrayOfEquipment type: array '400': description: Invalid Request '500': description: Internal Server Error tags: - equipment /equipment/brands: get: consumes: - application/json parameters: - allowEmptyValue: false collectionFormat: csv description: The maximum number of records to return. Use '-1' to get all records. format: int32 in: query name: max required: false type: integer - allowEmptyValue: false collectionFormat: csv description: The offset of the records listing (for pagination). format: int32 in: query name: offset required: false type: integer produces: - application/json responses: '200': description: Returns all available equipment brands '400': description: Invalid Request '500': description: Internal Server Error tags: - equipment /equipment/bySearch: get: consumes: - application/json parameters: - allowEmptyValue: false collectionFormat: csv description: returns zero or more tires based on search query format: '' in: query name: query required: true type: string - $ref: '#/parameters/EquipmentSort' - allowEmptyValue: false collectionFormat: csv default: desc description: order in which to sort enum: - asc - desc format: '' in: query name: order required: false type: string - allowEmptyValue: false collectionFormat: csv description: A comma separated list of data to return (complaints, recalls, investigations, manufacturerCommunications, none, all), defaults to 'all'. format: '' in: query name: data required: false type: string - allowEmptyValue: false collectionFormat: csv description: 'The maximum number of records to return, upper bound: 50.' format: int32 in: query name: max required: false type: integer - allowEmptyValue: false collectionFormat: csv description: The offset of the records listing (for pagination). format: int32 in: query name: offset required: false type: integer produces: - application/json responses: '200': description: Fuzzy search for a equipment based on manufacturer and mode schema: $ref: '#/definitions/EquipmentWrapped' '400': description: Invalid Request '500': description: Internal Server Error tags: - equipment /equipment/{id}: get: consumes: - application/json parameters: - collectionFormat: csv description: ID of the equipmentDetails format: int64 in: path name: id required: true type: integer - allowEmptyValue: false collectionFormat: csv description: A comma separated list of data to return (complaints, recalls, investigations, manufacturerCommunications, none, all), defaults to 'all'. format: '' in: query name: data required: false type: string produces: - application/json responses: '200': description: Returns a single equipmentDetails with the specified ID schema: $ref: '#/definitions/EquipmentWrapped' '400': description: Invalid Request '500': description: Internal Server Error tags: - equipment definitions: EquipmentWrapped: properties: meta: $ref: '#/definitions/Meta' results: items: $ref: '#/definitions/Equipment' type: array type: object Recalls: properties: nhtsaCampaignNumber: type: string subject: type: string type: object Components: properties: name: type: string type: object Message: properties: errorCode: type: string errorDetail: type: string errorMessage: type: string userMessage: type: string type: object InvestigationAggregate: properties: components: items: $ref: '#/definitions/Components' type: array dateClosed: type: string dateOpened: type: string nhtsaCampaignNumber: type: string recalls: items: $ref: '#/definitions/Recalls' type: array subject: type: string summary: type: string type: type: string type: object Pagination: properties: count: type: integer currentUrl: type: string max: type: integer nextUrl: type: string offset: type: integer order: type: string previousUrl: type: string sort: type: string total: type: integer type: object Equipment: properties: brand: type: string productName: type: string safetyIssues: $ref: '#/definitions/SafetyIssueAggregate' type: object Investigations: properties: nhtsaActionNumber: type: string subject: type: string type: object MFRCommunicationAggregate: properties: communicationDate: type: string components: items: $ref: '#/definitions/Components' type: array manufacturerCommunicationNumber: type: string nhtsaIdNumber: type: string subject: type: string summary: type: string type: object SafetyIssueAggregate: properties: complaints: items: $ref: '#/definitions/ComplaintAggregate' type: array investigation: items: $ref: '#/definitions/InvestigationAggregate' type: array manufacturerCommunications: items: $ref: '#/definitions/MFRCommunicationAggregate' type: array recalls: items: $ref: '#/definitions/RecallAggregate' type: array type: object ComplaintAggregate: properties: city: type: string components: items: $ref: '#/definitions/Components' type: array crash: type: integer dateFiled: type: string dateOfIncident: type: string description: type: string fire: type: integer nhtsaIdNumber: type: string numberOfDeaths: type: integer numberOfInjuries: type: integer stateAbbreviation: type: string vin: type: string type: object Meta: properties: messages: items: $ref: '#/definitions/Message' type: array pagination: items: $ref: '#/definitions/Pagination' type: array status: type: integer type: object RecallAggregate: properties: components: items: $ref: '#/definitions/Components' type: array consequence: type: string correctiveAction: type: string investigations: items: $ref: '#/definitions/Investigations' type: array manufacturer: type: string nhtsaCampaignNumber: type: integer notes: type: string potentialNumberOfUnitsAffected: type: string reportsReceivedDate: type: string subject: type: string summary: type: string type: object parameters: EquipmentSort: allowEmptyValue: false collectionFormat: csv default: productName description: key to sort on enum: - productName - recallsCount - investigationsCount - complaintsCount - manufacturerCommunicationsCount format: '' in: query name: sort required: false type: string