QCC API

The Quandis Court Connect (QCC) API is based on RESTful principles, making it easy to integrate QCC functionality into your applications. With the API, you can initiate searches, fetch results, specify preferences for your account, and retrieve dashboard data for the searches you’ve performed.

In addition to using a RESTful interface for complete automation, you are also welcome to submit bulk requests in spreadsheet format (Excel or CSV is fine), and receive responses in spreadsheet format as well.

You may download Excel sample requests and responses. See the section below on ensure you submit valid court names.

Base URL

QCC offers both test and production websites. The base URL for each is:

  • UAT: https://uatqcc.quandis.net
  • Production: https://qcc.quandis.net

Authentication

QCC offers both forms-based and Basic authentication. The credentials you use are the same, whether you are using forms-based or Basic authentication. For automation, Basic authentication is recommended. When you sign up for QCC, Quandis will provide you with credentials (typically an email address and password). These credentials must be specified when making API calls.

Initiating a Case Search

To retrieve docket information for a particular case, you will call CourtCase.ashx/Request, posting the Court, State, CourtCase and an optional Priority.

Example request:

POST CourtCase/CourtCase.ashx/Request HTTP/1.1
State=MD&Court=Baltimore City Circuit Court&CourtCase=09C95022490

Notes:

  • State, Court and CourtCase are required.
  • The State must be the standard two letter abbreviation for the US State the court is in.
  • The Court must match QCC’s court names, or a mapping you’ve submitted (see below).
  • The CourtCase number is the case number as set by the court. This is not a number generated by QCC, nor should it be a case number generated by your software system.

Example response:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<CourtCaseItem>
  <CourtCaseReferenceID>987654321</CourtCaseReferenceID>
</CourtCaseItem>

Notes:

  • The CourtCaseReferenceID is a unique identifier created by QCC, and is used to track your request.
  • An empty CourtCaseReferenceID means one of the required parameters did not contain a value.

Retrieving Case Search Results

To retrieve the search results, you will refer to the CourtCaseReferenceID returned when you submitted your search.

Example request

GET CourtCase/CourtCase.ashx/Response?CourtCaseReferenceID=987654321 HTTP/1.1

Example response:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<CourtCaseCollection>
  <CourtCaseItem>
  <CourtCase>09C95022490</CourtCase>
  <Court>Baltimore City Circuit Court</Court>
  <State>MA</State>
  <Status>Closed/Inactive</Status>
  <CourtCaseType>Civil Non-Support</CourtCaseType>
  <Title>Bureau Of Support Enforcement, et al vs John Doe</Title>
  <FilingDate>1/1/2015</FilingDate>
  <DispositionDate>1/14/2015</DispositionDate>gt;
  <DispositionReason>Decree or Order</DispositionReason>
  <RunStatus>Pending</RunStatus>
  <LastRunDate>12/15/2015 3:04:05 PM</LastRunDate>
  <Dockets>
    <Docket>
      <Description>Bail Bond</Description>
      <FileDate>1/8/2013</FileDate>
      <DocumentStatus>Pending</DocumentStatus>
    </Docket>
    <Docket>
      <Description>Proposed Order</Description>
      <FileDate>1/13/2013</FileDate>
      <DocumentStatus>Complete</DocumentStatus>
      <DocumentURL>https://qcc.quandis.net/Attachment/Attachment.ashx/Download?ID=12345</DocumentURL>
      <DocumentText>This is a Proposed Order</DocumentText>
    </Docket>
  </Dockets>
  </CourtCaseItem>
</CourtCaseCollection>

Notes:

  • The results contain 2 ‘tables’: for a Case and Dockets
  • Results are typically available about 30 seconds after submitting a request
  • RunStatus will be ‘Pending’ when the results are being retrieved
  • RunStatus will be ‘Complete’ when the results are available

Initiating a Party Search

To retrieve case information for a particular party, you will call CourtCaseParty.ashx/Request, posting the Court, State, Contact, FilingDateRange, and an optional Priority.

Example request:

POST CourtCase/CourtCaseParty.ashx/Request HTTP/1.1
State=MD&Court=Baltimore City Circuit Court&Contact=Smith&FilingDateStart=1/1/2002&FilingDateEnd=6/30/2002

Notes:

  • State, Court, Contact, FilingDateStart and FilingDateEnd are required.
  • The State must be the standard two letter abbreviation for the US State the court is in.
  • The Court must match QCC’s court names, or a mapping you’ve submitted (see below).
  • FilingDateStart and FilingDateEnd are the date range used to identify the filing date of the court case.

Example response:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<PartySearchRequest>
  <ID>987654321</ID>
</PartySearchRequest>

Notes:

  • The ID is a unique identifier created by QCC, and is used to track your request.
  • An empty ID means one of the required parameters did not contain a value.

Retrieving Party Search Results

To retrieve the search results, you will refer to the ID returned when you submitted your search.

Example request

GET CourtCase/CourtCaseParty.ashx/Response?CourtCasePartyReferenceID=987654321 HTTP/1.1

Example response:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<CourtCasePartyResponse>
    <Contact>Smith</Contact>
    <FilingDateStart>1/1/2002</FilingDateStart>
    <FilingDateEnd>6/30/2002</FilingDateEnd>
    <Court>Baltimore City Circuit Court</Court>
    <State>MD</State>
    <Status>Complete</Status>
    <LastRunDate>3/29/2016 11:46:55 AM</LastRunDate>
    <Cases>
      <CourtCaseItem>
        <CourtCase>CAL051588a</CourtCase>
        <Status>CLOSED</Status>
        <CourtCaseType>CIVIL</CourtCaseType>
        <FilingDate>6/21/2002</FilingDate>
      <CourtCaseItem>
    </Cases>
    <Permutations>
      <CourtCaseItem>
        <CourtCase>03C0700047a</CourtCase>
        <Status>Closed/Inactive</Status>
        <CourtCaseType>Name Change</CourtCaseType>
        <FilingDate>6/28/2002</FilingDate>
      <CourtCaseItem>
    </Permutations>
    <Aliases/>
  </CourtCasePartyResponse>

Notes:

  • Results are typically available about 30 seconds after submitting a request
  • Status will be ‘Pending’ when the results are being retrieved
  • Status will be ‘Complete’ when the results are available

Court Mappings

In order for QCC to query the correct court, you must provide both a State and a Court field in your request. Quandis provides a standard set of court names for each state. If convenient, you may provide QCC with your preferred alternate names for any (or all) courts.

For example, if your case management system uses “Baltimore Circuit” instead of “Baltimore City Circuit Court”, you may provide us a one-time mapping, and subsequent Case Requests may use your court name instead of the QCC standard court name.

Your alternate name must be globally unique (e.g. not conflict with other QCC clients). To ensure this, prefix your court name with your website or domain name. If a firm dchlaw.com uses “Baltimore Circuit”, a good string would be “dchlaw.com-Court-Baltimore Circuit”.

Example request:

POST Contact/Court.ashx/Subscribe HTTP/1.1
State=MD&Court=Baltimore City Circuit Court&SubscriberID=dchlaw.com-Court-Baltimore Circuit

Scheduling

To set a recurring schedule for your cases, you will call CourtCase.ashx/SetBucketSchedule, posting the Schedule.

Example request:

POST CourtCase/CourtCase.ashx/SetBucketSchedule HTTP/1.1
Frequency=Recurring&FrequencyType=Daily&FrequencyInterval=18

Example request:

POST CourtCase/CourtCaseParty.ashx/SetBucketSchedule HTTP/1.1
Frequency=Recurring&FrequencyType=Daily&FrequencyInterval=18

Notes:

  • Frequency
    • Use Recurring to set a schedule
    • Leaving this parameter blank will clear the schedule
  • FrequencyType
    • Daily
    • Weekly
    • Monthly
  • FrequencyInterval
    • The number of days,weeks, or months for the recurring search

Example response:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<BucketItem>
  <BucketID>987654321</BucketID>
  <Schedule>Daily every 18 day(s) @ 06:00:00pm</Schedule>
</BucketItem>

Notes:

  • The BucketID is a unique identifier created by QCC, and is used to track your request.

Notifications

To set a notification url for your cases, you will call CourtCase.ashx/SetBucketNotificationURL, posting the NotificationURL.

Example request:

POST CourtCase/CourtCase.ashx/SetBucketNotificationURL HTTP/1.1
NotificationURL=http://www.quandis.com/SomeEndPoint?CaseNumber={CourtCase}

Example request:

POST CourtCase/CourtCaseParty.ashx/SetBucketNotificationURL HTTP/1.1
NotificationURL=http://www.quandis.com/SomeEndPoint?CaseParty={CourtCaseParty}

Notes:

  • Include {CourtCase}, {Status}, {CourtCaseType} or {Title} in your url to pass these values when called.

Example response:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
<BucketItem>
  <BucketID>987654321</BucketID>
  <NotificationURL>http://www.quandis.com/SomeEndPoint?CaseNumber={CourtCase}</NotificationURL>
</BucketItem>

Notes:

  • The BucketID is a unique identifier created by QCC, and is used to track your request.