> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# POST Ongoing Monitoring Records

> Register new ongoing monitoring records for approved submissions. You can register up to 25 records per request.

<Info>
  Only approved submissions with valid fullName and birthDate fields can be registered for ongoing monitoring.
</Info>

## Endpoint

```bash theme={null}
POST /submission/aml/monitor/{worklistId}
```

## Base URLs

```bash theme={null}
https://rest-api.argosidentity.com/v3/submission/aml/monitor
```

## Authentication

Include your API key in the request header:

<ParamField header="x-api-key" type="string" required>
  Your API key for authentication
</ParamField>

## Path Parameters

<ParamField path="worklistId" type="string" required>
  The ID of the active worklist where records will be registered
</ParamField>

## Request Body

<ParamField body="submissionIds" type="array" required>
  Array of submission IDs to register for ongoing monitoring (1-25 submissions)
</ParamField>

<ParamField body="admin" type="string" required>
  Email address of the administrator making the request (must be registered in the project's admin list)
</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST 'https://rest-api.argosidentity.com/v3/submission/aml/monitor/{worklistId}' \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: {yourAPIKey}' \
    -d '{
      "submissionIds": [
        "SUBMISSION_ID_00A",
        "SUBMISSION_ID_01B",
        "SUBMISSION_ID_02C"
      ],
      "admin": "admin@company.com"
    }'
  ```
</RequestExample>

## Response

### Success Response

<ResponseExample>
  ```json Success theme={null}
  {
    "success": true,
    "successCount": 2,
    "failedCount": 1,
    "successResults": [
      {
        "submissionId": "SUBMISSION_ID_00A",
        "recordIds": [
          "RECORD_ID_00A"
        ],
        "status": "success"
      },
      {
        "submissionId": "SUBMISSION_ID_01B",
        "recordIds": [
          "RECORD_ID_01B"
        ],
        "status": "success"
      }
    ],
    "failedResults": [
      {
        "submissionId": "SUBMISSION_ID_02C",
        "recordIds": [],
        "status": "failed",
        "error": "This submission is not approved: SUBMISSION_ID_02C"
      }
    ]
  }
  ```
</ResponseExample>

### Response Fields

<ResponseField name="success" type="boolean" required>
  Overall success status of the batch operation
</ResponseField>

<ResponseField name="successCount" type="number" required>
  Number of submissions successfully processed
</ResponseField>

<ResponseField name="failedCount" type="number" required>
  Number of submissions that failed to process
</ResponseField>

<ResponseField name="successResults" type="array" required>
  Array of successfully processed submissions

  <Expandable title="Success Result Properties">
    <ResponseField name="submissionId" type="string" required>
      The submission ID that was successfully processed
    </ResponseField>

    <ResponseField name="recordIds" type="array" required>
      Array of generated record IDs for the submission
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Processing status (always "success" for this array)
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="failedResults" type="array" required>
  Array of submissions that failed to process

  <Expandable title="Failed Result Properties">
    <ResponseField name="submissionId" type="string" required>
      The submission ID that failed to process
    </ResponseField>

    <ResponseField name="recordIds" type="array" required>
      Empty array (no records created for failed submissions)
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Processing status (always "failed" for this array)
    </ResponseField>

    <ResponseField name="error" type="string" required>
      Description of why the submission failed
    </ResponseField>
  </Expandable>
</ResponseField>

### Error Response

<ResponseExample>
  ```json Error theme={null}
  {
    "errorCode": "missing_required_parameters",
    "errorMessage": "Required parameters are missing: worklistId, submissionIds, projectId, alias"
  }
  ```
</ResponseExample>

## Error Codes

| Error Code                    | HTTP Status | Description                                                |
| ----------------------------- | ----------- | ---------------------------------------------------------- |
| `invalid_path`                | 400         | Invalid request method                                     |
| `invalid_project`             | 400         | Invalid project ID or Ongoing Monitoring option disabled   |
| `invalid_worklist`            | 400         | Worklist is inactive                                       |
| `invalid_submissionIds`       | 400         | Submission IDs array format error or exceeds maximum count |
| `invalid_admin`               | 400         | Admin not found in project's admin list                    |
| `missing_required_parameters` | 400         | Required request parameters missing                        |
| `all_submissions_failed`      | 500         | All submissions failed to process                          |
| `processing_failed`           | 500         | Record registration or data processing failed              |
| `internal_server_error`       | 500         | Unexpected server error                                    |

## Important Notes

<Warning>
  **Prerequisites for Registration:**

  * Submissions must be approved before they can be registered
  * Each submission must have valid `fullName` and `birthDate` fields
  * Only active worklists can accept new records
  * Maximum 25 submissions per request
</Warning>

<Tip>
  **Best Practices:**

  * Verify submission approval status before attempting registration
  * Use batch operations for multiple submissions to improve efficiency
  * Monitor the response for partial failures and handle them appropriately
  * Keep track of generated record IDs for future reference
</Tip>

## Rate Limits

<Info>
  This endpoint follows the standard rate limiting policies. Each request can process up to 25 submissions simultaneously.
</Info>

## Related Endpoints

<CardGroup cols={2}>
  <Card title="Get Ongoing Monitoring Record" icon="magnifying-glass" iconType="regular" href="/api-reference/api-reference-guide/aml_data/aml-ongoing-monitoring/Get-Ongoing-Monitoring">
    Retrieve detailed information about a specific monitoring record
  </Card>

  <Card title="Delete Ongoing Monitoring Records" icon="trash" href="/api-reference/api-reference-guide/aml_data/aml-ongoing-monitoring/Delete-Ongoing-Monitoring">
    Remove ongoing monitoring records from the system
  </Card>
</CardGroup>
