Skip to main content
POST
/
v1
/
offers
/
propose
Propose an offer
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    rightId: 'rgh_3a91f8c20b6d4e75',
    toOrgId: '<string>',
    scope: '<string>',
    termsRef: '<string>',
    expiresAt: '2023-11-07T05:31:56Z'
  })
};

fetch('https://sandbox.api.enfinitos.com/v1/offers/propose', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "ok": true,
  "data": {
    "offer": {
      "id": "<string>",
      "fromOrgId": "<string>",
      "toOrgId": "<string>",
      "rightId": "<string>",
      "scope": "<string>",
      "termsRef": "<string>",
      "expiresAt": "2023-11-07T05:31:56Z",
      "derivedRightId": "<string>",
      "contentHash": "<string>",
      "createdAt": "2023-11-07T05:31:56Z"
    }
  },
  "contractVersion": "<string>"
}

Authorizations

Authorization
string
header
required

API key sent as Authorization: Bearer <api-key>.

Body

application/json
rightId
string
required

Parent right to draw scope from (prefixed rgh_).

Example:

"rgh_3a91f8c20b6d4e75"

toOrgId
string
required

The counter-party org id.

scope
string
required

Sub-scope being offered; must be within the parent right's scope.

Minimum string length: 1
termsRef
string | null

Optional reference to off-chain commercial terms.

expiresAt
string<date-time>

Optional; must be in the future. Defaults to 7 days from now.

Response

The proposed offer.

ok
boolean
required
data
object
required

Route-specific payload. Operation responses refine this.

contractVersion
string
required
Allowed value: "v1.0"