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

# Client-side errors (4XX)

<Snippet file="errors/client-errors.mdx" />

<ResponseField name="type" type="string" required>
  The type of object returned. This is always `error`.
</ResponseField>

<ResponseField name="code" type="string" required>
  The machine-readable code for this error. This is one of the following values.

  * `bad_request`
  * `unauthorized`
  * `unauthorized`
  * `forbidden`
  * `not_found`
  * `method_not_allowed`
  * `duplicate_record`
</ResponseField>

<ResponseField name="type" type="number" required>
  The HTTP status code of the error.
</ResponseField>

<ResponseField name="message" type="string" required>
  The human-readable description of this error.
</ResponseField>

<ResponseField name="details" type="array">
  A list of validation errors for the request.

  <Expandable title="detail">
    <ResponseField name="type" type="string" required>
      The type of error that occurred.
    </ResponseField>

    <ResponseField name="pointer" type="string" required>
      A JSON path pointer to the property that did not pass validation.
    </ResponseField>

    <ResponseField name="message" type="string" required>
      A human-readable description of the validation error.
    </ResponseField>

    <ResponseField name="location" type="string" required>
      The location of the property that did not pass validation, for example, `body`, `query`, or `path`.
    </ResponseField>
  </Expandable>
</ResponseField>
