---
displayed_sidebar: servicesSidebar
---

import ParameterTypes from "@site/src/components/ParameterTypes"

# IdempotencyKey

Idempotency Key is used to continue a process in case of any failure that might occur.

## Constructors

#### constructor

`**new IdempotencyKey**()`

Idempotency Key is used to continue a process in case of any failure that might occur.

## Properties

<ParameterTypes parameters={[
  {
    "name": "created_at",
    "type": "`Date`",
    "description": "Date which the idempotency key was locked.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "id",
    "type": "`string`",
    "description": "The idempotency key's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "idempotency_key",
    "type": "`string`",
    "description": "The unique randomly generated key used to determine the state of a process.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "locked_at",
    "type": "`Date`",
    "description": "Date which the idempotency key was locked.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "recovery_point",
    "type": "`string`",
    "description": "Where to continue from.",
    "optional": false,
    "defaultValue": "started",
    "expandable": false,
    "children": []
  },
  {
    "name": "request_method",
    "type": "`string`",
    "description": "The method of the request",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "request_params",
    "type": "`Record<string, unknown>`",
    "description": "The parameters passed to the request",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "request_path",
    "type": "`string`",
    "description": "The request's path",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "response_body",
    "type": "`Record<string, unknown>`",
    "description": "The response's body",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "response_code",
    "type": "`number`",
    "description": "The response's code.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  }
]} />

## Methods

#### beforeInsert

`Private **beforeInsert**(): void`

##### Returns

`void`

<ParameterTypes parameters={[
  {
    "name": "void",
    "type": "`void`",
    "optional": true,
    "defaultValue": "",
    "description": "",
    "expandable": false,
    "children": []
  }
]} />
