# Certn API Documentation - Ordering Bundle

> Source: https://centric-api-docs.certn.co/#ordering-bundle
> Interactive docs: https://centric-api-docs.certn.co/#ordering-bundle

## Ordering a Bundle

Certn provides you with the option of ordering pre-defined bundles of checks for a discounted price. Each bundle is defined and discounted by Certn. To order a bundle, checks represented by the bundle must be ordered along with the ID of the bundle. Checks ordered individually and without a bundle ID are not eligible to receive the bundle price.

### View the list of available bundles

Follow these steps to view the list of available bundles to order:

1. Fetch the ID of the group you are planning to order from using the [/groups endpoint](https://centric-api-docs.certn.co/#groups?anchor=endpoint-get-api-public-groups-).  
    **Example Request**  
    ```bash
    curl -X GET 'https://api.sandbox.certn.co/api/public/groups/' \
      --header "Authorization: Api-Key YOUR_API_KEY"
    ```  
    **Example Response:** HTTP/200 - Successful Retrieval
    ```json
    {
      "pagination": {
        "result_count": 3,
        "page_count": 1,
        "page_size": 10,
        "current_page": 1,
        "next_page": null,
        "previous_page": null
      },
      "results": [
        {
          "id": "2a1ac795-d744-4604-942b-620b91ce44b9",
          "short_id": "CG_CA_QA2B6GDX525G",
          "parent_id": null,
          "name": "Big API Company - HR",
          "is_active": true
        },
        {
          "id": "c88e1052-9d4d-4206-8559-cdff6933d0d2",
          "short_id": "CG_CA_EBKVAVKJCJVS",
          "parent_id": null,
          "name": "Big Company Applicant Pay",
          "is_active": true
        },
        {
          "id": "c60a86da-599a-4e50-8188-a186634efea3",
          "short_id": "CG_CA_F99SN0T4QBNR",
          "parent_id": null,
          "name": "Big API Company - Tenant",
          "is_active": true
        }
      ]
    }
    ```
2. Using the group ID from the previous step, call the [/groups/{group_id}/list-bundles](https://centric-api-docs.certn.co/#groups?anchor=endpoint-get-api-public-groups-id-list-bundles-) endpoint. This will return a list of each bundle available to the group, the bundle's ID, price, checks contained, and more.  
    **Example Request:** using ID from group "Big API Company - HR"
    ```bash
    curl -X GET "https://api.sandbox.certn.co/api/public/groups/2a1ac795-d744-4604-942b-620b91ce44b9/list-bundles/" \
      -H "Authorization: Api-Key YOUR_API_KEY"
    ```
    **Example Response:** HTTP/200 - Successful Retrieval
    ```json
    {
      "bundles": [
        {
          "id": "1c9c7a3e-1969-4c16-b07d-129181e7b19c",
          "title": {
            "en-AU": "Risk Insight",
            "en-CA": "Risk Insight",
            "en-GB": "Risk Insight",
            "en-US": "Risk Insight",
            "fr-CA": "Aperçu des Risques"
          },
          "check_types_with_arguments": {
            "ADVERSE_MEDIA_1": {},
            "PUBLIC_LEGAL_RECORDS_1": {
              "ordering_type": "EXPLICIT_ORDERING",
              "explicit_check_type": [
                "LEGAL_RECORDS_1"
              ]
            },
            "POLITICALLY_EXPOSED_PERSONS_1": {},
            "GLOBAL_WATCHLIST_AND_SANCTIONS_1": {}
          }
        },
        {
          "id": "8e4accc5-9d66-4c77-a92a-cd616aef1ce1",
          "title": {
            "en-AU": "Complete+",
            "en-CA": "Complete+",
            "en-GB": "Complete+",
            "en-US": "Complete+",
            "fr-CA": "Complet+"
          },
          "check_types_with_arguments": {
            "US_SSN_TRACE_1": {},
            "IDENTITY_VERIFICATION_1": {},
            "EDUCATION_VERIFICATIONS_1": {
              "verification_type": "EDUCATION_VERIFICATIONS_HIGHEST_LEVEL"
            },
            "EMPLOYMENT_VERIFICATIONS_1": {},
            "US_NATIONAL_CRIMINAL_DATABASE_1": {},
            "GLOBAL_WATCHLIST_AND_SANCTIONS_1": {},
            "US_NATIONAL_SEX_OFFENDER_REGISTRY_1": {},
            "US_COUNTY_CRIMINAL_COURT_RECORD_CHECK_1": {
              "ordering_type": "ADDRESS_HISTORY",
              "us_criminal_database_search_years": 7
            }
          }
        },
        {
          "id": "6ae2ab2c-c601-4284-959f-21242851cf9b",
          "title": {
            "en-AU": "Complete",
            "en-CA": "Complete",
            "en-GB": "Complete",
            "en-US": "Complete",
            "fr-CA": "Complet"
          },
          "check_types_with_arguments": {
            "US_SSN_TRACE_1": {},
            "US_NATIONAL_CRIMINAL_DATABASE_1": {},
            "GLOBAL_WATCHLIST_AND_SANCTIONS_1": {},
            "US_NATIONAL_SEX_OFFENDER_REGISTRY_1": {},
            "US_COUNTY_CRIMINAL_COURT_RECORD_CHECK_1": {
              "ordering_type": "CURRENT_ADDRESS"
            }
          }
        }
      ]
    }
    ```
**Note** — Bundles available to each group may differ; however, common bundles across groups will contain the same ID. For instance, the **Risk Insight** bundle will have the same ID no matter which group it is ordered for. These IDs are constant and do not change over time — however, bundle IDs are different across environments (for example sandbox vs production).

### Ordering a specific bundle

Follow these steps to order a specific bundle:

1. Follow the directions under **View the list of available bundles** (above) to find the bundle you wish to order.
2. Assemble a request to [order a case](https://centric-api-docs.certn.co/#ordering-case) that contains all the checks listed in the bundle you wish to order under the `check_types_with_arguments` attribute.
3. Specify the bundle ID in the `bundles` attribute.
4. You may include other checks that are not in the bundle in your order; however you must include all checks found in the bundle when placing the order.
5. If all goes well, your order will proceed successfully. If you requested ordering a case with one or more bundles but do not include all the checks in the specified bundles, the system will return an error message. Bundle ordering will only proceed if your `check_types_with_arguments` payload is a superset of your specified bundles.  
    **Example Request:** Ordering a case using ID `1c9c7a3e-1969-4c16-b07d-129181e7b19c` from bundle "Risk Insight"
    ```bash
    curl -X POST "https://api.sandbox.certn.co/api/public/cases/order/" \
      -H "Authorization: Api-Key YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email_address": "user@example.com",
        "message": "example_message",
        "group": "2a1ac795-d744-4604-942b-620b91ce44b9",
        "applicant_language": "en-CA",
        "send_invite_email": true,
        "check_types_with_arguments": {
            "ADVERSE_MEDIA_1": {},
            "PUBLIC_LEGAL_RECORDS_1": {
              "ordering_type": "EXPLICIT_ORDERING",
              "explicit_check_type": [
                "LEGAL_RECORDS_1"
              ]
            },
            "POLITICALLY_EXPOSED_PERSONS_1": {},
            "GLOBAL_WATCHLIST_AND_SANCTIONS_1": {}
        },
        "tags": [],
        "bundles": [
          "1c9c7a3e-1969-4c16-b07d-129181e7b19c"
        ]
      }'
    ```
    **Example Response:** HTTP/200 OK - Successful Order
    ```json
    {
      "id": "abc-123-def-456"
    }
    ```

### Auditing cases ordered by bundle

You can confirm your cases were ordered with bundles (and should have bundle pricing applied) by fetching the case using the [/cases/{case_id}](https://centric-api-docs.certn.co/#cases?anchor=endpoint-get-api-public-cases-id-) endpoint. In the response, any case with a successfully ordered bundle will have the corresponding bundle ID in the `bundles` attribute as a receipt that the case was ordered using the bundle(s) shown.

**Example Request:** Retrieving case ID `abc-123-def-456` to confirm bundle `1c9c7a3e-1969-4c16-b07d-129181e7b19c` was ordered

```bash
curl -X GET "https://api.sandbox.certn.co/api/public/cases/abc-123-def-456/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

**Example Response:** HTTP/200 OK - Successful retrieval

```json
{
  "id": "abc-123-def-456",
  "short_id": "CASE_CA_A1B2C3D4",
  "created": "2026-05-29T19:03:16.423206Z",
  "overall_score": null,
  "applicant_language": "en-CA",
  "group": "2a1ac795-d744-4604-942b-620b91ce44b9",
  "email_address": "user@example.com",
  "input_claims": {
    "email_address": "user@example.com"
  },
  "check_types_with_arguments": {
    "LEGAL_RECORDS_1": {},
    "GLOBAL_WATCHLIST_AND_SANCTIONS_1": {},
    "POLITICALLY_EXPOSED_PERSONS_1": {},
    "PUBLIC_LEGAL_RECORDS_1": {
      "ordering_type": "EXPLICIT_ORDERING",
      "explicit_check_type": [
        "LEGAL_RECORDS_1"
      ]
    },
    "ADVERSE_MEDIA_1": {}
  },
  "overall_status": "APPLICANT_INVITED",
  "ordered_by": null,
  "checks": [
    {
      "id": "9ed6f55f-5b7c-4397-af99-1a6db28cd4ec",
      "short_id": "CASE_CA_Z0JXB2YP-5",
      "status": "AWAITING_APPLICANT_SUBMISSION",
      "score": null,
      "sub_score": null,
      "adjudication_score": null,
      "adjudication_sub_score": null,
      "type": "LEGAL_RECORDS_1",
      "output_claims": {}
    },
    {
      "id": "7b98efa8-b120-4dfb-b137-736347100c6a",
      "short_id": "CASE_CA_Z0JXB2YP-4",
      "status": "AWAITING_APPLICANT_SUBMISSION",
      "score": null,
      "sub_score": null,
      "adjudication_score": null,
      "adjudication_sub_score": null,
      "type": "GLOBAL_WATCHLIST_AND_SANCTIONS_1",
      "output_claims": {}
    },
    {
      "id": "0dd0d2ce-d704-4cc2-aaf9-4cadcabf87a6",
      "short_id": "CASE_CA_Z0JXB2YP-3",
      "status": "AWAITING_APPLICANT_SUBMISSION",
      "score": null,
      "sub_score": null,
      "adjudication_score": null,
      "adjudication_sub_score": null,
      "type": "POLITICALLY_EXPOSED_PERSONS_1",
      "output_claims": {}
    },
    {
      "id": "c2b5f307-3c1b-4ec2-9821-fc037e07a8aa",
      "short_id": "CASE_CA_Z0JXB2YP-2",
      "status": "AWAITING_APPLICANT_SUBMISSION",
      "score": null,
      "sub_score": null,
      "adjudication_score": null,
      "adjudication_sub_score": null,
      "type": "PUBLIC_LEGAL_RECORDS_1",
      "output_claims": {}
    },
    {
      "id": "b9eb5422-0368-4a0c-831a-2a440c4031c5",
      "short_id": "CASE_CA_Z0JXB2YP-1",
      "status": "AWAITING_APPLICANT_SUBMISSION",
      "score": null,
      "sub_score": null,
      "adjudication_score": null,
      "adjudication_sub_score": null,
      "type": "ADVERSE_MEDIA_1",
      "output_claims": {}
    }
  ],
  "tags": [],
  "bundles": [
    "1c9c7a3e-1969-4c16-b07d-129181e7b19c"
  ],
  "linked_cases": [],
  "primary_case": null,
  "invite_link": null
}
```

---

## Additional Resources

- [Interactive Documentation](https://centric-api-docs.certn.co)
- [OpenAPI Specification](https://centric-api-docs.certn.co/openapi.yaml)
- [All Reference Docs](https://centric-api-docs.certn.co/reference/)

*Generated from Certn API Documentation*