# technology.agave.marketplace.notify

> Published by [catalogue.agave.technology](https://lexicon.garden/identity/did:plc:jgjchylj237en76b3hi2xu4g)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:jgjchylj237en76b3hi2xu4g/technology.agave.marketplace.notify)
- [Documentation](https://lexicon.garden/lexicon/did:plc:jgjchylj237en76b3hi2xu4g/technology.agave.marketplace.notify/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:jgjchylj237en76b3hi2xu4g/technology.agave.marketplace.notify/examples)

## Definitions

### `technology.agave.marketplace.notify`

**Type**: `procedure`

Fetch one technology.agave record from its author's PDS with its repository proof, verify it and index it, or drop it from the index when the repository no longer holds it. Needs no authentication: everything indexed comes from the repository, nothing from the caller.

#### Input

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes | A technology.agave.blockVersion, technology.agave.profile or technology.agave.follow record. |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | No | The CID of the record the repository holds; absent when it holds none. |
| `status` | `string` | Yes | indexed: the record is in the index now. unchanged: the index already held the record as it is, or its withdrawal. deleted: the repository holds the record no more and the index dropped it. |
| `uri` | `string` (at-uri) | Yes |  |

#### Errors

- **Refused**: The record fails a check: its proof, its archive's CID, its lexicon, a publish check, or a version that is not newer. The message says which, in words for its author.
- **RecordNotFound**: Neither the repository nor the index holds the record.
- **ActorNotFound**: The URI's DID or handle does not resolve.
- **UpstreamFailure**: The author's DID document, PDS or archive could not be fetched. Notify again later.

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Fetch one technology.agave record from its author's PDS with its repository proof, verify it and index it, or drop it from the index when the repository no longer holds it. Needs no authentication: everything indexed comes from the repository, nothing from the caller.",
      "errors": [
        {
          "description": "The record fails a check: its proof, its archive's CID, its lexicon, a publish check, or a version that is not newer. The message says which, in words for its author.",
          "name": "Refused"
        },
        {
          "description": "Neither the repository nor the index holds the record.",
          "name": "RecordNotFound"
        },
        {
          "description": "The URI's DID or handle does not resolve.",
          "name": "ActorNotFound"
        },
        {
          "description": "The author's DID document, PDS or archive could not be fetched. Notify again later.",
          "name": "UpstreamFailure"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "uri": {
              "description": "A technology.agave.blockVersion, technology.agave.profile or technology.agave.follow record.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "uri"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "cid": {
              "description": "The CID of the record the repository holds; absent when it holds none.",
              "format": "cid",
              "type": "string"
            },
            "status": {
              "description": "indexed: the record is in the index now. unchanged: the index already held the record as it is, or its withdrawal. deleted: the repository holds the record no more and the index dropped it.",
              "knownValues": [
                "indexed",
                "unchanged",
                "deleted"
              ],
              "type": "string"
            },
            "uri": {
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "uri",
            "status"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "technology.agave.marketplace.notify",
  "lexicon": 1
}
```
