# Move a submission to a lender

Move one lender's crossing along - :id is the SHARE, not the submission, because one submission sent to four lenders has four independent states. The lender may move it to under review, approved or declined; the ISO may withdraw it. The move stamps its own instant (first response, decision, withdrawal), carries the reason and the decline code, and takes the figures the lender answered with in `offered` and `counter`. A lender's decline also raises a risk signal on the deal.

Access class: `workspace`.

## Endpoint

`POST /v1/submissions/{id}/transition`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| id | path | string | Yes |

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "counter": {
      "amountMinor": 1,
      "factorRate": 1.5,
      "paymentAmountMinor": 1,
      "termMonths": 1
    },
    "declineCode": "string",
    "offered": {
      "amountMinor": 1,
      "factorRate": 1.5,
      "paymentAmountMinor": 1,
      "termMonths": 1
    },
    "reason": "string",
    "status": "string"
  },
  "params": {
    ":id": "string"
  },
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "channel": "string",
    "counterAmountMinor": 1,
    "counterFactorRate": 1.5,
    "counterTermMonths": 1,
    "createdAt": "string",
    "dealRowId": "",
    "decidedAt": "string",
    "declineCode": "string",
    "direction": "string",
    "id": "",
    "lenderEmail": "string",
    "lenderRowId": "",
    "mayMove": [
      "string"
    ],
    "merchantKey": "string",
    "offeredAmountMinor": 1,
    "offeredFactorRate": 1.5,
    "offeredPaymentAmountMinor": 1,
    "offeredTermMonths": 1,
    "preparedMessage": {
      "body": "string",
      "notes": "string",
      "subject": "string"
    },
    "receivingTenantId": 1,
    "record": {
      "archived_at": "string",
      "assignees": {},
      "cells": {},
      "createdBy": "string",
      "display": {},
      "externalId": "",
      "groupId": "",
      "id": "",
      "position": 1,
      "source": "string"
    },
    "responseReceivedAt": "string",
    "sentAs": "string",
    "sharedByUserId": 1,
    "sharingTenantId": 1,
    "status": "string",
    "statusChangedAt": "string",
    "statusChangedByTenantId": 1,
    "statusReason": "string",
    "submissionRowId": "",
    "submittedAt": "string",
    "updatedAt": "string",
    "withdrawnAt": "string"
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
