CDK Global · AsyncAPI Specification

Fortellis Event Relay Data API

Version 1.0.0

Provides an Event Source (Publisher) the ability to post event through Fortellis Event Relay.

Fortellis Event Relay Data API is an event-driven AsyncAPI specification published by CDK Global on the APIs.io network, version 1.0.0.

Tagged areas include Automotive, Dealer Management, DMS, Auto Retail, and F&I.

View Spec View on GitHub AutomotiveDealer ManagementDMSAuto RetailF&IFixed OperationsPartsCRMDigital RetailMarketplaceDeveloper PlatformEventsWebhooksAsyncAPIAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
swagger: '2.0'

info:
  version: '1.0.0'
  title: Fortellis Event Relay Data API
  description: Provides an Event Source (Publisher) the ability to post event through Fortellis Event Relay.
  contact:
    name: Fortellis Team
    url: https://fortellis.io
    email: [email protected]

host: event-relay.fortellis.io
basePath: /
schemes:
  - https

securityDefinitions:
  permission-model:
    type: oauth2
    flow: implicit
    authorizationUrl: https://identity.fortellis.io/oauth2/
    scopes:
      read-write: Read and write access to the Fortellis-Event-Relay Data API

paths:
  /v2/events:
    post:
      summary: Post an event.
      description: |
        Publishes an event record.
        Authentication information provides a Source context that defines the event type schema and version used to validate the message body.  Consult the Control Plane Api specification for details.
      operationId: postEvent
      tags:
        - events
      parameters:
        - $ref: '#/parameters/header.X-Request-Id'
        - $ref: '#/parameters/header.Authorization'
        - $ref: '#/parameters/header.Subscription-Id'
        - $ref: '#/parameters/header.Data-Owner-Id'
        - $ref: '#/parameters/header.partitionKey'
        - $ref: '#/parameters/body.Event'
      consumes:
        - application/json
      produces:
        - application/json
      responses:
        200:
          $ref: '#/responses/EventCreated'
        400:
          $ref: '#/responses/BadRequest'
        401:
          $ref: '#/responses/Unauthorized'
        403:
          $ref: '#/responses/Forbidden'
        500:
          $ref: '#/responses/InternalServerError'
        503:
          $ref: '#/responses/ServiceUnavailable'

parameters:
  header.Authorization:
    name: Authorization
    in: header
    type: string
    required: true
    description: |
      Contains credentials that allows the caller to authenticate itself with the
      API. See RFC 7235 and RFC 7617 for more details.

  header.X-Request-Id:
    name: X-Request-Id
    in: header
    type: string
    format: uuid
    description: |
      A correlation ID that should mirror the value of the X-Request-Id request
      header provided by the client.

  header.Subscription-Id:
    name: Subscription-Id
    in: header
    type: string
    format: uuid
    required: true
    description: |
      A Fortellis Subscription-Id.

  header.Data-Owner-Id:
    name: Data-Owner-Id
    in: header
    type: string
    format: uuid
    required: false
    description: |
      A Fortellis Organization Id that identifies the organization represented by the event.

  header.partitionKey:
    name: partitionKey
    in: header
    type: string
    required: false
    description: |
      A value used to partition the records to achieve parallelism and ordering.
      Records with the same partitionKey are guaranteed to be published to consumers in published order.

  body.Event:
    name: CreateEvent
    in: body
    required: true
    schema:
      $ref: '#/definitions/Event'
    description: The JSON request body to create an event.  Serialization is controlled by the corresponding source's schema and version.

responses:
  EventCreated:
    description: OK
    headers:
      X-Request-Id:
        type: string
        #description: The matching correlation identifier to the request by the client.
    schema:
      $ref: '#/definitions/EventCreated'


  BadRequest:
    description: 400 - Bad Request
    headers:
      X-Request-Id:
        type: string
        description: The matching correlation identifier to the request by the client.
    schema:
      $ref: '#/definitions/ErrorResponse'

  Unauthorized:
    description: 401 - Unauthorized
    headers:
      X-Request-Id:
        type: string
        description: The matching correlation identifier to the request by the client.
    schema:
      $ref: '#/definitions/ErrorResponse'

  Forbidden:
    description: 403 - Forbidden
    headers:
      X-Request-Id:
        type: string
        description: The matching correlation identifier to the request by the client.
    schema:
      $ref: '#/definitions/ErrorResponse'

  InternalServerError:
    description: 500 - Internal Server Error
    headers:
      X-Request-Id:
        type: string
        description: The matching correlation identifier to the request by the client.
    schema:
      $ref: '#/definitions/ErrorResponse'
  ServiceUnavailable:
    description: 503 - Service Unavailable
    headers:
      X-Request-Id:
        type: string
        description: The matching correlation identifier to the request by the client.
    schema:
      $ref: '#/definitions/ErrorResponse'

definitions:

  Event:
    description: A single event record matching the defined event type schema.
    type: object
    example:
      key1: value1
      key2: value2
      key3:
        - arr-value1
        - arr-value2
        - arr-value3
      key4:
        sub-key1: sub-value1
        sub-key2: sub-value2

  EventCreated:
    description: Event Created Response.
    properties:
      eventId:
        type: string
        format: uuid
        description: Unique trail id that will be assigned to record by system.
    required:
      - eventId
    example:
      eventId: 848f1d80-c5e2-11ea-87d0-0242ac130003

  # This is a standard error object for 4XX and 5XX responses.
  ErrorResponse:
    description: Common error response object.
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
    required:
      - code
      - message
    example:
      code: 400
      message: Bad Request