# Deposit

A [Submission](/pass-documentation-dev/developer-documentation/pass-core/model/submission.md) can have multiple Deposits, each to a different [Repository](/pass-documentation-dev/developer-documentation/pass-core/model/repository.md). This entity describes the interaction of PASS with a target [Repository](/pass-documentation-dev/developer-documentation/pass-core/model/repository.md) for an individual [Submission](/pass-documentation-dev/developer-documentation/pass-core/model/submission.md) with the purpose of satisfying one or more [Policies](/pass-documentation-dev/developer-documentation/pass-core/model/policy.md).

| Attribute        | Type   | Description                                                                                                               |
| ---------------- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
| id\*             | String | Autogenerated identifier of object.                                                                                       |
| depositStatusRef | String | A URL or some kind of reference that can be dereferenced, entity body parsed, and used to determine the status of Deposit |
| depositStatus\*  | String | Status of deposit ([*see list below*](#deposit-status-options))                                                           |
| statusMessage    | String | A human readable messabe about the deposit                                                                                |
| version\*        | Long   | Version number that increments on updates. Used to check update requests and ensure consistency.                          |

| Relationship   | Type   | Target                                                                                               | Description                          |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------- | ------------------------------------ |
| submission\*   | To One | [Submission](/pass-documentation-dev/developer-documentation/pass-core/model/submission.md)          | Submission this Deposit is a part of |
| repository\*   | To One | [Repository](/pass-documentation-dev/developer-documentation/pass-core/model/repository.md)          | Repository being deposited to        |
| repositoryCopy | To One | [Repository Copy](/pass-documentation-dev/developer-documentation/pass-core/model/repositorycopy.md) | Repository Copy for this Deposit     |

\*required

## Deposit status options

These are the possible statuses for a Deposit in the order they could occur. Note that not all repositories will go through every status.

Intermediate statusA Deposit with an *intermediate* status indicates that the processing of the Deposit is not yet complete. At some indeterminate point in the future, the status *may* be updated to a *terminal* state.Terminal statusA Deposit with a *terminal* status indicates that the processing of the Deposit is complete.

| Value     | State        | Description                                                                                                                                                                                                                                                                            |
| --------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| submitted | Intermediate | PASS has sent a package to the target [Repository](/pass-documentation-dev/developer-documentation/pass-core/model/repository.md) and is waiting for an update on the status                                                                                                           |
| rejected  | Terminal     | The target [Repository](/pass-documentation-dev/developer-documentation/pass-core/model/repository.md) has rejected the Deposit                                                                                                                                                        |
| failed    | Intermediate | A failure occurred while performing the deposit, it may be re-tried later.                                                                                                                                                                                                             |
| accepted  | Terminal     | The target [Repository](/pass-documentation-dev/developer-documentation/pass-core/model/repository.md) has accepted the [Files](/pass-documentation-dev/developer-documentation/pass-core/model/file.md) into the repository and they are pending publication if not published already |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eclipse-pass.org/pass-documentation-dev/developer-documentation/pass-core/model/deposit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
