openapi: 3.2.0 info: version: 2.0.4 title: Service Provider Group Customers API description: Base API allowing Dealers to interact with Customers and Assets termsOfService: https://www.decisiv.com/terms-of-use contact: name: Decisiv Support email: support@decisiv.com url: https://www.decisiv.com servers: - url: /api/v1/ security: - Bearer: [] - OAuth2Password: [] TransitionToken: [] tags: - name: group_customers paths: /group_customers: get: tags: - group_customers description: Returns all Group Customers in the system for the authenticated Service Location operationId: getGroupCustomers parameters: - $ref: '#/components/parameters/dmsIdRequiredParam' responses: '200': description: List of group customers in the ecosystem content: application/vnd.api+json: schema: type: array items: $ref: '#/components/schemas/jsonapiCustomersResponse' default: description: unexpected error content: application/vnd.api+json: schema: $ref: '#/components/schemas/jsonapiErrorResponse' '400': description: Bad Request content: application/vnd.api+json: schema: $ref: '#/components/schemas/badRequestDmsIdFilterMissingResponseError' '429': description: Too Many Requests content: application/vnd.api+json: schema: $ref: '#/components/schemas/tooManyRequestsResponse' components: schemas: jsonapiCustomersResponse: type: object properties: name: type: string maxLength: 35 description: Name of company example: Runaway Jim Trucking address1: type: string maxLength: 40 description: Main address - Line 1 example: 100 Famous Mockingbird Lane address2: type: string maxLength: 40 description: Main address - Line 2 example: 2410 Sloan Street city: type: string maxLength: 25 description: City name example: Gamehendge state: type: string maxLength: 2 description: Postal abbreviation for the state or province example: VT postal_code: type: string maxLength: 10 example: '25610' description: USPS zip code or Canadian postal code country: type: string maxLength: 20 description: Country in which the state or province is located example: US phone: type: string maxLength: 10 description: Main office telephone number example: 555-5555 fax: type: string maxLength: 10 description: Main office fax telephone number example: 555-5555 email: type: string maxLength: 128 description: Main email address to be used for communication with the customer during estimating and repair processes example: contact@decisiv.net note: type: string maxLength: 300 description: Special instructions and / or any other information which will be useful to Service Network CSR while using DSRM example: Note for contact dms_id: type: string maxLength: 40 example: '12345' description: Dealer Management System id created_at: type: string example: '2023-10-17T15:50:52.133Z' updated_at: type: string example: '2023-10-17T15:50:52.133Z' created_by: type: string example: current_user updated_by: type: string example: current_user 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_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. badRequestDmsIdFilterMissingResponseError: title: Bad Request type: array description: 'Request is not sent as expected ' items: $ref: '#/components/schemas/badRequestDmsIdFilterMissingErrorWithExample' jsonapiErrorResponse: type: object properties: errors: items: $ref: '#/components/schemas/JSONAPI_Errors' type: array allOf: - $ref: '#/components/schemas/JSONAPI_Errors' 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: '#/components/schemas/tooManyRequestsResponseErrorWithExample' tooManyRequestsResponse: type: object properties: errors: items: $ref: '#/components/schemas/tooManyRequestsResponseErrorWithExample' type: array allOf: - $ref: '#/components/schemas/tooManyRequestsResponseError' badRequestDmsIdFilterMissingErrorWithExample: title: badRequestFilterMissingErrorWithExample 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: status: type: string description: the HTTP status code applicable to this problem, expressed as a string value. example: '400' code: type: string description: an application-specific error code, expressed as a string value. example: decisiv:filters:106 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: Required filter is missing 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: 'Required filter must be provided. Valid required filters: dms_id' source: type: object properties: parameter: type: string example: filter parameters: dmsIdRequiredParam: name: filter[dms_id] in: query description: Dealer Management System id to filter collection by required: true schema: type: string 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://login.decisiv.net/oauth/token description: Oauth flow with Transition Token. See https://api-docs.decisiv.net/docs/api/oauth/ Bearer: type: apiKey name: Authorization in: header