---
title: Court Case and FIR Check Initiate API
slug: api-marketplace/court-case-and-fir-check-initiate-api
createdAt: 2026-10-21T13:36:00.343Z
---

## Introduction

The Court Case and FIR API simplifies the process of finding and retrieving court cases and FIR information linked to an individual. By consolidating both court record searches and FIR checks into a single, unified endpoint, this API ensures easy integration into your systems while offering comprehensive insights into the legal history of the entities you are interested in. This API covers cases across district courts, session courts, High courts, Supreme court and Tribunals (like MACT) and FIRs

To use the service, you can initiate a query through the **Initiate API** by providing the relevant individual details, and subsequently fetch the results using the **Retrieve API**

## Key Features

- **Unified Endpoint for Court & FIR Data:** Streamline your workflows by fetching both court case records and FIR details through a single API integration.
- **Comprehensive Court Coverage:** Access legal records across all levels of the judiciary, including District Courts, Session Courts, Tribunals, High Courts, and the Supreme Court.
- **Advanced Entity Resolution Algorithm:** Public court and FIR data is notoriously incomplete. To solve this, our API leverages proprietary matching algorithms to accurately filter and identify the right individuals using a combination of input.

## Common Use Cases

- **Background Verification (BGV):** Seamlessly integrate into HR tech platforms to conduct thorough criminal and civil background checks on prospective employees.
- **Tenant Screening:** Empower property managers and landlords to verify the legal history of potential tenants before signing lease agreements.
- **Vendor & Partner Due Diligence:** Assess the legal standing and risk profile of individual contractors, vendors, or business partners prior to onboarding.
- **Risk & Compliance:** Enhance Know Your Customer (KYC) and risk assessment models for lending, insurance, or financial services by surfacing undisclosed legal liabilities.



# API Description

The check is asynchronous and uses two endpoints:

- **signzy.app/api/v3/court-fir/initiate:** Takes the person's name, father's name and address (and, optionally, date of birth) and starts the search. Returns a requestId straight away.
- **signzy.app/api/v3/court-fir/retrieve:** Takes the requestId and returns the status of the search and, once it is complete, the result. The result can also be sent to your callbackUrl.

### API cURL

:::CodeblockTabs
Pre-prod

```json
curl --location 'https://api-preproduction.signzy.app/api/v3/court-fir/initiate' \
--header 'Content-Type: application/json' \
--header 'Authorization: (Auth Token)' \
--data-raw '{
    "clientRefId": "LOAN-2026-000123",
    "name": "Rahul Sharma",
    "fatherName": "Rakesh Sharma",
    "dob": "15/06/1990",
    "address": "H No 12, Sector 4, Rohini, Delhi 110085",
    "recordTypes": ["ALL"],
    "subjectRoles": ["ALL"],
    "callbackUrl": "https://example.com/court-fir/callback"
}'
```

Prod

```json
curl --location 'https://api.signzy.app/api/v3/court-fir/initiate' \
--header 'Content-Type: application/json' \
--header 'Authorization: (Auth Token)' \
--data-raw '{
    "clientRefId": "LOAN-2026-000123",
    "name": "Rahul Sharma",
    "fatherName": "Rakesh Sharma",
    "dob": "15/06/1990",
    "address": "H No 12, Sector 4, Rohini, Delhi 110085",
    "recordTypes": ["ALL"],
    "subjectRoles": ["ALL"],
    "callbackUrl": "https://example.com/court-fir/callback"
}'
```
:::

### Input Table

| Parameters   | Required | Type            | Description                                                                                                                                                                                                                                          |
| ------------ | -------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name         | Yes      | String          | Full name of the person. 2 to 80 characters in English, with at least one letter. A placeholder such as NA or Not known is rejected.                                                                                                                 |
| fatherName   | Yes      | String          | Father's full name. Same rules as name.                                                                                                                                                                                                              |
| address      | Yes      | String          | The person's address. Up to 500 characters: English letters, numbers and standard punctuation, with at least one letter. Line breaks are allowed. A placeholder such as NA is rejected.                                                              |
| dob          | No       | String          | Date of birth as DD/MM/YYYY. A real date from 1900 onwards, not in the future. Send "" or leave it out when not known.                                                                                                                               |
| recordTypes  | No       | Array of String | Sources to search: ALL, DISTRICT\_COURT, HIGH\_COURT, SUPREME\_COURT, CONSUMER\_COURT, TRIBUNAL, FIR, ARRESTED. Leave it out, or send \[] or \["ALL"], to search every source. ALL cannot be combined with other values, and values must not repeat. |
| subjectRoles | No       | Array of String | The person's side in the case: ALL, RESPONDENT, PETITIONER. Leave it out, or send \[] or \["ALL"], to search both sides.                                                                                                                             |
| callbackUrl  | No       | String          | HTTPS URL to which the result is POSTed when the check finishes. See Callback below.                                                                                                                                                                 |
| clientRefId  | No       | String          | Your own reference for the check, 5 to 50 characters. Returned with the result.                                                                                                                                                                      |

### API Output

:::CodeblockTabs
JSON Output

```json
{
    "result": {
        "requestId": "6718c2f4a1b2c3d4e5f60718",
        "status": "IN_PROGRESS"
    },
    "reason": "Request Accepted",
    "code": "S007"
}

```
:::

### Output Table

| Category | Subcategory | Description                                                  | Type   |
| -------- | ----------- | ------------------------------------------------------------ | ------ |
| result   | requestId   | ID of the check, 24 characters. Pass it to the Retrieve API. | String |
| result   | status      | IN\_PROGRESS: the search has started.                        | String |
| reason   | —           | Request Accepted                                             | String |
| code     | —           | S007                                                         | String |

## Callback

If callbackUrl is sent, Signzy POSTs the final result to it as soon as the check finishes, whether COMPLETED or FAILED. The body is the same JSON the Retrieve API returns for that requestId (see the Retrieve API).

- Method POST, with the header Content-Type: application/json.
- The callback counts as delivered when your server answers with any 2xx status within 30 seconds.
- If it is not delivered, it is retried up to 3 more times: 10, 20 and 40 seconds apart.
- No callback is sent when the Initiate call itself fails. That call's response carries the error.
- The Retrieve API can be called at any time, including after every callback attempt has failed.

## Status Codes

| Code | status                  | Description                                                                                                                                                                                                                     |
| ---- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200  | Request Accepted (S007) | The search has started. Use the requestId with the Retrieve API.                                                                                                                                                                |
| 400  | Bad Request (E001)      | An input is missing or invalid. The reason names the field, for example: Bad Request: "name" is required. Also returned, with the reason Error in Fetching Data from Upstream, when the court records source rejects the input. |
| 401  | Unauthorized            | The Authorization token is missing or invalid.                                                                                                                                                                                  |
| 409  | Upstream Error (E401)   | The court records source could not take the request. Please try again.                                                                                                                                                          |
| 500  | Internal Server Error   | Internal Server Error. Please contact support.                                                                                                                                                                                  |

:::hint{type="info"}
### Getting help

Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.

You can reach out to us at [help@signzy.com](#). We strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively.

We value your feedback and are committed to making your experience smooth and enjoyable. Our team is dedicated to assisting you with any needs you may have. Thank you for choosing our services. We look forward to helping you!
:::

