# Execute bulk process

Launches execution of operations of any bulk process identified by the bulk_id  parameter.
The status of the bulk process has to be in a ‘SUBMITTED’ state and after execution initiates, the bulk process state is set to ‘RUNNING’.
The final state of execution can be any of
COMPLETED: the execution of the bulk process is complete and all bulk operations of the bulk process were executed successfully
FAILED:  none of the operations of the bulk process have executed.
PARTIALLY_COMPLETED: the execution of the bulk process is complete and some of the bulk operations of the bulk process failed.
This operation is asynchronous and will return immediately. You can track the status of the execution of the bulk process through Get bulk process. You can also pause execution through *bulkIdPause*

Endpoint: POST /bulks/{bulk_id}/execute
Version: v3
Security: auth_token, api-key

## Security:

  - `auth_token` (unknown)
    http bearer JWT

  - `api-key` (unknown)
    apiKey in header api-key

## Path parameters:

  - `bulk_id` (string, required)
    The bulk id of the bulk process.

## Request fields (application/json):

  - `mode` (string)
    ON_FAILURE_STOP : the execution of the bulk process stops after the first bulk operation that fails (operation returns a 4xx or 5xx response code).
ON_FAILURE_CONTINUE: the execution of the bulk process resumes as normal even when any of the bulk operations fail.
    Enum: "ON_FAILURE_STOP", "ON_FAILURE_CONTINUE"

  - `webhookInterval` (integer)
    The count of operations after which a Bulk Process Progress will be sent. For example, if set to 10, a webhook will be sent after every 10th operation is attempted. The minimum value fo count is 25% of all operations. If a value below this is entered, a webhook will only be sent for each 25% of operations attempted (i.e. 4 webhooks per Bulk Process).

## Response 204:

  - `204` (unknown)
    Success - No Content.

## Response 204 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 400:

  - `400` (unknown)
    Bad Request Error - Your request is invalid.

## Response 400 fields (application/json):

  - `message` (string)
    When present helps to identify and fix the problem.

  - `syntaxErrors` (object)
    Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided.

  - `syntaxErrors.invalidFields` (array)

  - `syntaxErrors.invalidFields.params` (array)

  - `syntaxErrors.invalidFields.fieldName` (string)

  - `syntaxErrors.invalidFields.error` (string)
    Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE"

## Response 400 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 401:

  - `401` (unknown)
    Unauthorized - Your credentials or access token are invalid.

## Response 401 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 403:

  - `403` (unknown)
    Forbidden - Access to the requested resource or action is forbidden.

## Response 403 fields (application/json):

  - `errorCode` (string)
    Enum: "INSUFFICIENT_PERMISSIONS"

## Response 403 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 404:

  - `404` (unknown)
    Not found - The requested resource couldn't be found.

## Response 404 fields (application/json):

  - `code` (string)

  - `message` (string)

## Response 404 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 409:

  - `409` (unknown)
    BulkProcessorConflict - bulk processor conflict.

## Response 409 fields (application/json):

  - `errorCode` (string)
    Enum: "VALIDATION_FAILED", "USER_VALIDATION_FAILED", "ALREADY_SUBMITTED", "DUPLICATE_OPERATION_TYPE", "NO_CONFIG_FOUND", "INVALID_STATE", "TOO_MANY_REQUESTS"

## Response 409 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 500:

  - `500` (unknown)
    Internal Server Error - There is a problem with the server. Please try again later.

## Response 500 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 503:

  - `503` (unknown)
    Service Unavailable - The requested service is temporarily unavailable. Please try again later.

## Response 503 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response default:

  - `default` (unknown)
    Error

## Response default fields (application/json):

  - `code` (string)

  - `message` (string)

