# Platform APIs

> Status: Beta

> For the complete documentation index, see [llms.txt](https://developer.rippling.com/llms.txt). Every page is available as Markdown by adding .md to its URL.

> Closed beta. Call platform APIs that have no workflow command using the Rippling CLI.

Source: https://developer.rippling.com/documentation/rippling-platform/rippling-cli/platform-apis

> **Rippling:**
> Access to the Rippling CLI is gated behind the **Developer Program**, which is currently in a closed beta.

## Custom object records

### `rippling api custom-object-records create`

Creates a custom object record. Run this in the company where the package is installed. Do not combine `--input` with `--external-id`.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--external-id` | string | no | Caller-provided ID. Creates a record when new and updates the existing record when reused. |
| `--input` | file | no | Full JSON body, including record fields. `-` reads stdin. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling --context sandbox-installer api custom-object-records create --custom-object-api-name "<package>__<install>__my_object__c" --input record.json --json
```

### `rippling api custom-object-records list`

Lists custom object records. Run this in the company where the package is installed.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--cursor` | string | no | Pagination cursor. |
| `--limit` | string | no | Maximum results. Default 10; maximum 100. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling --context sandbox-installer api custom-object-records list --custom-object-api-name "<package>__<install>__my_object__c"
rippling --context sandbox-installer api custom-object-records list --custom-object-api-name "<package>__<install>__my_object__c" --json
```

### `rippling api custom-object-records get`

Reads one custom object record.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--codr-id` | string | yes | Custom object record ID. |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling api custom-object-records get --codr-id <record-id> --custom-object-api-name "<package>__<install>__my_object__c"
rippling api custom-object-records get --codr-id <record-id> --custom-object-api-name "<package>__<install>__my_object__c" --json
```

### `rippling api custom-object-records update`

Updates a specific custom object record.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--codr-id` | string | yes | Custom object record ID. |
| `--input` | file | no | Full JSON body, including record fields. `-` reads stdin. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling --context sandbox-installer api custom-object-records update --codr-id <record-id> --custom-object-api-name "<package>__<install>__my_object__c" --input record-update.json --json
```

### `rippling api custom-object-records delete`

Deletes a specific custom object record.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--codr-id` | string | yes | Custom object record ID. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling --context sandbox-installer api custom-object-records delete --codr-id <record-id> --custom-object-api-name "<package>__<install>__my_object__c"
rippling --context sandbox-installer api custom-object-records delete --codr-id <record-id> --custom-object-api-name "<package>__<install>__my_object__c" --json
```

### `rippling api custom-object-records bulk-create`

Creates or updates many custom object records. Do not combine `--input` with `--rows-to-write-file` or `--all-or-nothing`.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--rows-to-write-file` | file | no | The `rows_to_write` array. Each item may include `external_id` and record fields. `-` reads stdin. |
| `--all-or-nothing` | boolean | no | Fail the whole operation if any record fails. When omitted, partial success is allowed. |
| `--input` | file | no | Full JSON body. Cannot be combined with field flags. `-` reads stdin. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling --context sandbox-installer api custom-object-records bulk-create --custom-object-api-name "<package>__<install>__my_object__c" --rows-to-write-file rows.json --json
```

### `rippling api custom-object-records bulk-update`

Updates many custom object records. Do not combine `--input` with `--rows-to-update-file` or `--all-or-nothing`.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--rows-to-update-file` | file | no | The `rows_to_update` array. Each item includes `id` and the fields to change. `-` reads stdin. |
| `--all-or-nothing` | boolean | no | Fail the whole operation if any record fails. When omitted, partial success is allowed. |
| `--input` | file | no | Full JSON body, including record fields. `-` reads stdin. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling --context sandbox-installer api custom-object-records bulk-update --custom-object-api-name "<package>__<install>__my_object__c" --rows-to-update-file rows.json --json
```

### `rippling api custom-object-records bulk-delete`

Bulk deletes custom object records. Do not combine `--input` with `--rows-to-update-file` or `--all-or-nothing`.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--custom-object-api-name` | string | yes | API name of the custom object. |
| `--rows-to-delete` | string | no | Record IDs to delete, for example `[id_1, id_2]`. |
| `--all-or-nothing` | boolean | no | Fail the whole operation if any record fails. When omitted, partial success is allowed. |
| `--input` | file | no | Full JSON body, including record fields. `-` reads stdin. |
| `--json` | boolean | no | Print the response as indented JSON. |

*Example:*

```bash
rippling --context sandbox-installer api custom-object-records bulk-delete --custom-object-api-name "<package>__<install>__my_object__c" --rows-to-delete id_1,id_2 --json
```

## Discover

### `rippling api discover`

Searches built-in API resources and workflows. Omit the query and pass `--all` to list every command.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `<query>` | string | no | Search words for resources and actions. This is a positional argument, not a flag. |
| `--all` | boolean | no | List all API commands, or every action matching the query. |
| `--json` | boolean | no | Print discovery results as JSON. |

*Example:*

```bash
rippling api discover --all
rippling api discover sandbox
rippling api discover package --all
rippling api workers list --limit 10
```
