# Check client intake application submission readiness

`GET /client-intake-applications/{application_id}/submission-readiness/`

Return blocking validation issues that prevent submission.

Base URL: https://api.levr.ai/v1

Authentication: Bearer — Portal API key

[REST guide](https://docs.levr.ai/rest-api.md) · [OpenAPI specification](https://docs.levr.ai/generated/openapi.json)

## Parameters

### application_id (path)

Type: string. Required: yes.

Schema:



```json
{
  "pattern": "^ciappl_[a-z0-9]+$",
  "type": "string"
}
```

## Example request

```sh
curl --request GET \
  --url "https://api.levr.ai/v1/client-intake-applications/$APPLICATION_ID/submission-readiness/" \
  --header "Authorization: Bearer $LEVR_API_KEY"
```

## Responses

### 200

Readiness summary with any blocking issues.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "blocking_issue_count": {
      "minimum": 0,
      "type": "integer"
    },
    "has_blocking_issues": {
      "type": "boolean"
    },
    "id": {
      "pattern": "^ciappl_[a-z0-9]+$",
      "type": "string"
    },
    "issues": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "attribute_label": {
            "type": [
              "string",
              "null"
            ]
          },
          "issue": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "request_label": {
            "type": [
              "string",
              "null"
            ]
          },
          "section_key": {
            "type": [
              "string",
              "null"
            ]
          },
          "section_label": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "type": "string"
          }
        },
        "required": [
          "section_key",
          "section_label",
          "request_label",
          "attribute_label",
          "message",
          "issue",
          "source"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "object": {
      "const": "client_intake_application",
      "type": "string"
    }
  },
  "required": [
    "id",
    "object",
    "has_blocking_issues",
    "blocking_issue_count",
    "issues"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "blocking_issue_count": 1,
  "has_blocking_issues": true,
  "id": "ciappl_2m8q7c9k4x6p3n5d",
  "issues": [
    {
      "attribute_label": "Sample attribute label",
      "issue": "Sample issue",
      "message": "Request completed successfully.",
      "request_label": "Sample request label",
      "section_key": "company_information",
      "section_label": "Company information",
      "source": "Sample source"
    }
  ],
  "object": "client_intake_application"
}
```

### 400

Correct the request fields and try again.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "invalid_request",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/check-client-intake-application-submission-readiness/",
    "message": "Correct the request fields and try again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "invalid_request_error"
  }
}
```

### 401

Provide a valid API key and try again.

#### Response headers



```json
{
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "invalid_api_key",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/check-client-intake-application-submission-readiness/",
    "message": "Provide a valid API key and try again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "authentication_error"
  }
}
```

### 403

This API key does not allow the requested action.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "permission_denied",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/check-client-intake-application-submission-readiness/",
    "message": "This API key does not allow this action.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "permission_error"
  }
}
```

### 404

The requested resource was not found or is not available to this API key.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "not_found",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/check-client-intake-application-submission-readiness/",
    "message": "The requested resource was not found.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "invalid_request_error"
  }
}
```

### 429

Too many requests were sent. Wait before trying again.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  },
  "Retry-After": {
    "description": "Minimum seconds to wait before retrying.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "rate_limited",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/check-client-intake-application-submission-readiness/",
    "message": "Wait before sending another request.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "rate_limit_error"
  }
}
```

### 500

Levr could not complete the request. Keep the request ID and retry when safe.

#### Response headers



```json
{
  "RateLimit-Limit": {
    "description": "Maximum requests in the effective fixed quota window.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the effective quota window.",
    "schema": {
      "minimum": 0,
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the effective quota window resets.",
    "schema": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "Request-Id": {
    "description": "Server-generated request identifier for support and event correlation.",
    "schema": {
      "pattern": "^req_[a-z0-9]+$",
      "type": "string"
    }
  }
}
```

Content type: application/json

#### Schema



```json
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "pointer": {
                "type": "string"
              }
            },
            "required": [
              "pointer",
              "code",
              "message"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "documentation_url": {
          "format": "uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "request_id": {
          "pattern": "^req_[a-z0-9]+$",
          "type": "string"
        },
        "type": {
          "enum": [
            "api_error",
            "authentication_error",
            "conflict_error",
            "idempotency_error",
            "invalid_request_error",
            "permission_error",
            "rate_limit_error"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message",
        "details",
        "request_id",
        "documentation_url"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
```

#### Example

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.



```json
{
  "error": {
    "code": "internal_error",
    "details": [],
    "documentation_url": "https://docs.levr.ai/rest-api-reference/client-intake-applications/check-client-intake-application-submission-readiness/",
    "message": "Retry the request, then contact support if it fails again.",
    "request_id": "req_2m8q7c9k4x6p3n5d",
    "type": "api_error"
  }
}
```
