CDK Global query API
The query API from CDK Global — 6 operation(s) for query.
The query API from CDK Global — 6 operation(s) for query.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cdk-global-query-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Cdk Global Query API
version: '1.0'
description: 'Operations tagged query across 2 of this provider''s published API definitions: fortellis-appointments-openapi.yml, fortellis-parts-store-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://fortellis.io/sales/notification/v3
- url: https://api.fortellis.io/sales/parts-store/v47
security:
- permission-model:
- anonymous
tags:
- name: query
paths:
/:
get:
summary: Query appointments
description: Query appointments
operationId: queryAppointments
tags:
- query
parameters:
- $ref: '#/components/parameters/header.Accept'
- $ref: '#/components/parameters/header.Accept-Charset'
- $ref: '#/components/parameters/header.Accept-Language'
- $ref: '#/components/parameters/header.If-Match'
- $ref: '#/components/parameters/header.If-None-Match'
- $ref: '#/components/parameters/header.Prefer'
- $ref: '#/components/parameters/header.Request-Id'
- $ref: '#/components/parameters/header.Subscription-Id'
- $ref: '#/components/parameters/header.Authorization'
- $ref: '#/components/parameters/query.dateTimeInterval'
- $ref: '#/components/parameters/query.vehicleHref'
- $ref: '#/components/parameters/query.customerHref'
- $ref: '#/components/parameters/query.advisorHref'
responses:
'200':
$ref: '#/components/responses/AppointmentCollection'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
servers:
- url: https://fortellis.io/sales/notification/v3
/{appointmentId}:
get:
summary: Query an appointment
description: Query an appointment
operationId: queryAppointment
tags:
- query
parameters:
- $ref: '#/components/parameters/header.Accept'
- $ref: '#/components/parameters/header.Accept-Charset'
- $ref: '#/components/parameters/header.Accept-Language'
- $ref: '#/components/parameters/header.If-Match'
- $ref: '#/components/parameters/header.If-None-Match'
- $ref: '#/components/parameters/header.Prefer'
- $ref: '#/components/parameters/header.Request-Id'
- $ref: '#/components/parameters/header.Subscription-Id'
- $ref: '#/components/parameters/header.Authorization'
- $ref: '#/components/parameters/path.appointmentId'
responses:
'200':
$ref: '#/components/responses/Appointment'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
servers:
- url: https://fortellis.io/sales/notification/v3
/all-product-info:
get:
summary: Server example operation
description: You can use this call to get the information on all of the products at this resource that you need to use.
operationId: allProductInfo
parameters:
- $ref: '#/components/parameters/header.Pididle'
- $ref: '#/components/parameters/header.Organization'
- $ref: '#/components/parameters/header.Request-Id_2'
- $ref: '#/components/parameters/header.Subscription-Id'
- $ref: '#/components/parameters/header.Authorization'
- $ref: '#/components/parameters/query.email'
responses:
'200':
$ref: '#/components/responses/AllProducts'
'400':
$ref: '#/components/responses/BadRequest_2'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'503':
$ref: '#/components/responses/ServiceUnavailable'
tags:
- query
externalDocs:
description: Find more info here.
url: https://swagger.io
servers:
- url: https://api.fortellis.io/sales/parts-store/v47
/all-product-info/{productNumber}:
get:
tags:
- query
summary: Specific Product
description: Find a specific product.
operationId: productInformation
parameters:
- $ref: '#/components/parameters/header.Pididle'
- $ref: '#/components/parameters/header.Organization'
- $ref: '#/components/parameters/path.productNumber'
- $ref: '#/components/parameters/header.Request-Id_2'
- $ref: '#/components/parameters/header.Subscription-Id'
- $ref: '#/components/parameters/header.Authorization'
responses:
'200':
$ref: '#/components/responses/PathProductNumber'
'400':
$ref: '#/components/responses/BadRequest_2'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'503':
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://api.fortellis.io/sales/parts-store/v47
/all-product-info/{productNumber}/product-size:
get:
tags:
- query
summary: Specific Product Description
description: Find the description for a specific product.
operationId: productDescription
parameters:
- $ref: '#/components/parameters/path.productNumber'
- $ref: '#/components/parameters/header.Request-Id_2'
- $ref: '#/components/parameters/header.Subscription-Id'
- $ref: '#/components/parameters/header.Authorization'
responses:
'200':
$ref: '#/components/responses/ProductSize'
'400':
$ref: '#/components/responses/BadRequest_2'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'503':
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://api.fortellis.io/sales/parts-store/v47
/ping:
get:
tags:
- query
summary: Server heartbeat operation
description: Solutions can use this operation to check that the server is still available and responding to requests.
operationId: healthMonitor
parameters:
- $ref: '#/components/parameters/header.Request-Id_2'
- $ref: '#/components/parameters/header.Subscription-Id'
- $ref: '#/components/parameters/header.Authorization'
responses:
'200':
$ref: '#/components/responses/Ping'
'400':
$ref: '#/components/responses/BadRequest_2'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'503':
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://api.fortellis.io/sales/parts-store/v47
components:
schemas:
RequestedService:
description: This fields describes the service requested.
type: object
properties:
description:
type: string
description: The textual description of the requested service
concern:
type: string
description: The textual description of the concern that prompted the requested service
sourceHref:
type: string
description: "The hypermedia link to the source service specification. This will \nlink to a service-packages Specification or LaborOperation resource.\n"
overrides:
type: object
properties:
quote:
$ref: '#/components/schemas/Price'
required:
- description
example:
description: Replace Air Filter
sourceHref: api.fortellis.io/service/reference/v4/service-packages/model/CHEV-CAMAC-2001-US/packages/BF018/specifications/8994972
ErrorResponse:
description: This is a generic error schema.
type: object
properties:
code:
type: integer
format: int32
message:
type: string
required:
- code
- message
example:
code: 24
message: Error Message used for debugging
AppointmentCollection:
description: This field describes a collection of appointments.
type: object
allOf:
- $ref: '#/components/schemas/BaseCollection'
- properties:
items:
type: object
items:
$ref: '#/components/schemas/Appointment'
required:
- items
required:
- items
example:
items:
appointmentId: '123'
dateTime: '2019-06-10T16:15:00+08:00'
requestedServices:
- description: Filler, Tail Lamp Center - Replace (Labor Only)
sourceHref: api.fortellis.io/service/reference/v4/service-packages/model/CHEV-CAMAC-2001-US/packages/BF018/specifications/8994972
vehicleHref: api.fortellis.io/service/v1/vehicles/123
vehicleMileage:
value: 75201
units: MILES
customerHref: api.fortellis.io/service/v1/customers/123
contact:
label: mobile
uri: tel:1-234-567-8900
preferences:
- startDay: MON
endDay: FRI
startTime: '1000'
endTime: '1600'
transportHref: api.fortellis.io/service/v1/scheduling/lookups/transports/123
advisorHref: api.fortellis.io/service/v1/scheduling/lookups/advisors/123
concerns: My driver side front door rattles when I drive faster than 45
remarks: Customer reports that driver side front door exhibits a rattle above 45mph
links:
self:
href: api.fortellis.io/service/v3/appointments/123
totalItems: 1
totalPages: 1
links:
first:
href: api.fortellis.io/service/v3/appointments?page=1&pageSize=1
BaseCollectionLinks:
description: This field describes the base collection links for the particular endpoint.
type: object
properties:
next:
$ref: '#/components/schemas/LinkDescriptionObject'
description: The next page of query results
prev:
$ref: '#/components/schemas/LinkDescriptionObject'
description: The previous page of query results
first:
$ref: '#/components/schemas/LinkDescriptionObject'
description: The first page of query results
required:
- first
example:
next:
href: https://example.com/next
rel: next
method: POST
title: Next page
prev:
href: https://example.com/prev
rel: prev
method: POST
title: Previous page
first:
href: https://example.com/first
rel: first
method: POST
title: First page
LinkDescriptionObject:
description: These are the linked objects that you send with the request to comply with HATEOAS.
type: object
properties:
href:
type: string
description: The target URI
rel:
type: string
description: The link relation type
method:
type: string
description: The HTTP verb that MUST be used to make a request to the target of the link
title:
type: string
description: A human readable title for the link that conveys the purpose of the link
required:
- href
example:
href: https://example.com
rel: self
method: POST
title: Reference to self at the Example
AppointmentResource:
description: This field describes the appointment resources.
allOf:
- $ref: '#/components/schemas/Appointment'
- type: object
properties:
appointmentId:
type: string
description: The appointment unique identifier
links:
$ref: '#/components/schemas/AppointmentLinks'
description: The hypermedia links of the Appointment resource
required:
- appointmentId
- links
example:
appointmentId: '123'
dateTime: '2019-06-10T16:15:00+08:00'
requestedServices:
- description: Filler, Tail Lamp Center - Replace (Labor Only)
sourceHref: api.fortellis.io/service/reference/v4/service-packages/model/CHEV-CAMAC-2001-US/packages/BF018/specifications/8994972
vehicleHref: api.fortellis.io/service/v1/vehicles/123
vehicleMileage:
value: 34760
units: MILES
customerHref: api.fortellis.io/service/v1/customers/123
contact:
label: mobile
uri: tel:1-234-567-8900
preferences:
items:
startDay:
- MON
endDay:
- SAT
startTime: '1985-04-12T23:20:50.52Z'
endTime: '1985-04-18T23:20:50.52Z'
timezone: CST
transportHref: api.fortellis.io/service/v1/scheduling/lookups/transports/123
advisorHref: api.fortellis.io/service/v1/scheduling/lookups/advisors/123
concerns: My driver side front door rattles when I drive faster than 45
remarks: Customer reports that driver side front door exhibits a rattle above 45mph
links:
self:
href: api.fortellis.io/service/v3/appointments/123
Price:
description: This field lists the cost of the appointment.
type: object
properties:
currencyCode:
type: string
description: The ISO 4217 three letter currency code of the price
netPrice:
type: number
description: Price excluding sales tax / VAT expressed in the given currency
grossValue:
type: number
description: Price including sales tax / VAT expressed in the given currency
taxValue:
type: number
description: Value of tax expressed in the given currency
taxRate:
type: number
description: Tax rate as a percentage
netDiscountedPrice:
type: number
description: Discounted price exluding sales tax in the given currency
grossDiscountedPrice:
type: number
description: Discounted price including sales tax in the given currency
required:
- currencyCode
- netPrice
- grossValue
- taxValue
- taxRate
example:
currencyCode: US
netPrice: 53
grossValue: 57.24
taxValue: 4.24
taxRate: 8
Appointment:
description: This definition defines the information and format in appointments.
properties:
dateTime:
type: string
description: The ISO 8601 encode date and time of the appointment
requestedServices:
type: array
items:
$ref: '#/components/schemas/RequestedService'
description: The requested services to be performed on the vehicle
vehicleHref:
type: string
description: The hyperlink to the Vehicle resource scheduled for the appointment.
vehicleSpec:
$ref: '#/components/schemas/VehicleSpecification'
description: The make, model, and year describing the vehicle to be serviced. This must be provided if the 'vehicleHref' property is not specified.
vehicleMileage:
$ref: '#/components/schemas/Measurement'
description: The estimated mileage of the vehicle
customerHref:
type: string
description: The hyperlink to the customer who is requesting the vehicle service
contact:
$ref: '#/components/schemas/ContactMethod'
description: "A contact method for the customer. This takes precedence over contact \nmethods present in the source customer record. This must be provided \nif a customer resource link is not included.\n"
transportHref:
type: string
description: The hyperlink to the requested transport
advisorHref:
type: string
description: The hyperlink to the requested service advisor
teamHref:
type: string
description: The hyperlink to the requested service team
concerns:
type: string
description: Concerns of the customer that prompted the appointment
remarks:
type: string
description: Comments by the service department staff about the appointment
required:
- dateTime
- requestedServices
example:
dateTime: '2019-06-10T16:15:00+08:00'
requestedServices:
- description: Filler, Tail Lamp Center - Replace (Labor Only)
sourceHref: api.fortellis.io/service/reference/v4/service-packages/model/CHEV-CAMAC-2001-US/packages/BF018/specifications/8994972
vehicleHref: api.fortellis.io/service/v1/vehicles/123
vehicleMileage:
value: 34760
units: MILES
customerHref: api.fortellis.io/service/v1/customers/123
contact:
label: mobile
uri: tel:1-234-567-8900
preferences:
items:
startDay:
- MON
endDay:
- SAT
startTime: '1985-04-12T23:20:50.52Z'
endTime: '1985-04-18T23:20:50.52Z'
timezone: CST
transportHref: api.fortellis.io/service/v1/scheduling/lookups/transports/123
advisorHref: api.fortellis.io/service/v1/scheduling/lookups/advisors/123
concerns: My driver side front door rattles when I drive faster than 45
remarks: Customer reports that driver side front door exhibits a rattle above 45mph
AppointmentLinks:
description: This field describes the appointment links.
type: object
properties:
self:
$ref: '#/components/schemas/LinkDescriptionObject'
description: The canonical link to the appointment resource
required:
- self
example:
self:
href: api.fortellis.io/service/v3/appointments/123
ContactPreference:
description: This fields shows the customer's contact preferences.
type: object
required:
- startDay
- endDay
properties:
startDay:
type: string
enum:
- MON
- TUE
- WED
- THU
- FRI
- SAT
- SUN
description: The starting day of the interval
endDay:
type: string
enum:
- MON
- TUE
- WED
- THU
- FRI
- SAT
- SUN
description: The ending day of the interval
startTime:
type: string
description: The RFC 3339 encoded starting time of the interval
endTime:
type: string
description: The RFC 3339 encoded ending time of the interval
timeZone:
type: string
description: The IANA Timezone Database encoded timezone code of the interval
example:
startDay: MON
endDay: SAT
startTime: '1985-04-12T23:20:50.52Z'
endTime: '1985-04-18T23:20:50.52Z'
timezone: CST
VehicleSpecification:
description: This field describes the vehicle.
type: object
properties:
makeCode:
type: string
description: The make code of the vehicle
modelCode:
type: string
description: The model code of the vehicle
modelYear:
type: number
description: The model year of the vehicle
required:
- makeCode
- modelCode
- modelYear
example:
makeCode: CHEV
modelCode: CAMAC
modelYear: 2001
BaseCollection:
description: This field describes the base collection.
type: object
properties:
totalItems:
type: number
description: The total number of items contained in the collection
totalPages:
type: number
description: The total number of pages given the requested page size
links:
$ref: '#/components/schemas/BaseCollectionLinks'
required:
- totalItems
- totalPages
- links
example:
totalItems: 16
totalPages: 4
links:
first:
href: https://example.com/first
rel: first
method: POST
title: First page
next:
href: https://example.com/next
rel: next
method: POST
title: Next page
prev:
href: https://example.com/prev
rel: prev
method: POST
title: Previous page
ContactMethod:
description: This is the method that the customer would like you to use to contact them.
type: object
properties:
label:
type: string
description: A label used to describe the contact method (e.g. home, work-cell).
uri:
type: string
description: The RFC 3986 encoded URI address of the contact method.
preferences:
type: object
items:
$ref: '#/components/schemas/ContactPreference'
required:
- label
- uri
example:
label: Home Information
uri: https://examle.com/person/contact
preferences:
items:
startDay:
- MON
endDay:
- SAT
startTime: '1985-04-12T23:20:50.52Z'
endTime: '1985-04-18T23:20:50.52Z'
timezone: CST
Measurement:
description: This field will let you know about the value and the units of measurement.
type: object
required:
- units
- value
properties:
value:
type: number
units:
type: string
enum:
- MILES
- KM
- HOURS
example:
value: 75201
units: MILES
ErrorResponse_2:
description: Common error response object.
properties:
code:
type: integer
format: int32
message:
type: string
required:
- code
- message
example:
code: 400
message: Bad Request
Health:
description: This is the code that tells you the server is okay.
type: object
properties:
message:
type: string
code:
type: number
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
method:
type: string
allProductInfo:
type: object
properties:
href:
type: string
method:
type: string
thisProductInfo:
type: object
properties:
href:
type: string
method:
type: string
thisProductSize:
type: object
properties:
href:
type: string
method:
type: string
required:
- message
- code
- links
example:
message: The server is up
code: 200
links:
self:
href: /ping
method: GET
allProductInfo:
href: /all-product-info
method: GET
thisProductInfo:
href: /all-product-info/{productNumber}
method: GET
thisProductSize:
href: /all-product-info/{productNumber}/product-size
method: GET
ProductSize:
description: This describes the dimensions of the product to help determine if you have the space to store the product.
type: object
properties:
productWidth:
type: string
productHeight:
type: string
productLength:
type: string
productWeight:
type: string
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
method:
type: string
allProductInfo:
type: object
properties:
href:
type: string
method:
type: string
thisProductInfo:
type: object
properties:
href:
type: string
method:
type: string
ping:
type: object
properties:
href:
type: string
method:
type: string
required:
- productWidth
- productHeight
- productLength
- productWeight
- links
example:
productWidth: 4 inches
productHeight: 1.8 cm
productLength: 4 inches
productWeight: 22 g
links:
self:
href: /all-product-info/all-product-info/{productNumber}/product-size
method: GET
allProductInfo:
href: /all-product-info
method: GET
thisProductInfo:
href: /all-product-info/{productNumber}
method: GET
ping:
href: /ping
method: GET
AllProducts:
description: This endpoint gives the information on all of the products.
type: object
properties:
products:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the pet
id:
type: string
productSize:
type: object
properties:
name:
type: string
number:
type: integer
location:
type: string
productSize:
type: object
properties:
productWidth:
type: string
productHeight:
type: string
productWeight:
type: string
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
method:
type: string
thisProductInfo:
type: object
properties:
href:
type: string
method:
type: string
thisProductSize:
type: object
properties:
href:
type: string
method:
type: string
ping:
type: object
properties:
href:
type: string
method:
type: string
required:
- products
example:
products:
- name: Gasket
id: G45k3T
number: 4960
location: 8601 Ranch to Market 2222 Building 1 Austin, TX 78730
ProductSize:
productWidth: 4 inches
productHeight: 1.8 cm
productLength: 4 inches
productWeight: 22 g
- name: Chasis
id: Ch4515
number: 8321
location: CDK Global, 1 Cygnet Way, Charnham Park, Hungerford RG17 0YL, UK
ProductSize:
productWidth: 7 ft
productHeight: 1 ft
productLength: 12 ft
productWeight: 250 lbs
- name: Steering Wheel
id: 5T3eR1Ng Wh331
number: 7629
location: 2525 SW 1st Ave Suite 400, Portland, OR 97201
ProductSize:
productWidth: 14 1/2 inches
productHeight: 3 5/8 inches
productLength: 14 1/2 inches
productWeight: 385 grams
- name: Engine
id: 3Ng1N9
number: 2385
location: 1950 Hassell Rd, Hoffman Estates, IL 60169
ProductSize:
productWidth: 28 inches
productHeight: 27 inches
productLength: 26 inches
productWeight: 411 lbs.
- name: Radiator
id: R4d14t0R
number: 3897
location: 9th & 10th floor, Binarius Building, Deepak Complex National Games Road, Opp Golf Course, Shastrinagar, Yerawada, Pune, Maharashtra 411006, India
ProductSize:
productWidth: 19-3/4 inches
productHeight: 19-1/8" inches
productLength: 2-3/16
productWeight: 17.8 lbs.
links:
self:
href: /all-product-info
method: GET
thisProductInfo:
href: /all-product-info/{productNumber}
method: GET
thisProductSize:
href: ''
method: /all-product-info/{productNumber}/product-size
ping:
href: /ping
method: GET
PathProductNumber:
description: This gives you the unique identifier for the product.
type: object
properties:
name:
type: string
id:
type: string
number:
type: integer
location:
type: string
productSize:
type: object
properties:
productWidth:
type: string
productHeight:
type: string
productWeight:
type: string
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
method:
type: string
allProductInfo:
type: object
properties:
href:
type: string
method:
type: string
thisProductSize:
type: object
properties:
href:
type: string
method:
type: string
ping:
type: object
properties:
href:
type: string
method:
type: string
required:
- id
- name
- links
example:
name: Radiator
id: SomeExampleId
number: 5
location: 9th & 10th floor, Binarius Building, Deepak Complex National Games Road, Opp Golf Course, Shastrinagar, Yerawada, Pune, Maharashtra 411006, India
ProductSize:
productWidth: 19-3/4 inches
productHeight: 19-1/8 inches
productLength: 2-3/16
productWeight: 17.8 lbs.
links:
self:
href: /all-product-info/{productNumber}
method: GET
allProductInfo:
href: /all-product-info
method: GET
thisProductSize:
href: /all-product-info/all-product-info/{productNumber}/product-size
method: GET
ping:
href: /ping
method: GET
responses:
Forbidden:
description: 403 - Forbidden
headers:
Content-Language:
schema:
type: string
Content-Type:
schema:
type: string
Request-Id:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Appointment:
description: OK
headers:
Request-Id:
schema:
type: string
Preference-Applied:
schema:
type: string
enum:
- return=representation
- return=minimal
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentResource'
AppointmentCollection:
description: OK
headers:
Request-I
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cdk-global/refs/heads/main/openapi/cdk-global-query-api-openapi.yml