Skip to main content
POST
/
v1
/
distributions
Create distributions
curl --request POST \
  --url https://api.nova.net/v1/distributions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "name": "April 20th Distribution from XYZ Sale",
    "distribution_date": "2024-04-20T00:00:00Z",
    "vehicle": "veh_pNvehE6O1KjY2W6Omq9MD3QAEs5w",
    "payments": [
      {
        "amount": 1000,
        "currency": "USD",
        "entity": "ent_H0hdMOc5E5QMTEcGVZKegvLNCB6p",
        "notifications": [
          {
            "contact": "cnt_tSfCZrNE8O3c4QATSkzuCljMZ2DI"
          }
        ],
        "distribution_date_override": "2024-04-20T00:00:00Z"
      }
    ],
    "external_reference": "distribution-123"
  }
]
'
{
  "object": "list",
  "data": [
    {
      "object": "distribution",
      "livemode": true,
      "id": "dst_tQaOR74NP2DZ9mg3votpOnCqAuGs",
      "name": "April 20th Distribution from XYZ Sale",
      "distribution_date": "2024-04-20T00:00:00Z",
      "vehicle": "veh_pNvehE6O1KjY2W6Omq9MD3QAEs5w",
      "external_reference": "distribution-123",
      "short_id": "<string>",
      "published_at": "2023-11-07T05:31:56Z",
      "approved_at": "2023-11-07T05:31:56Z",
      "executed_at": "2023-11-07T05:31:56Z",
      "cancelled_at": "2023-11-07T05:31:56Z",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "sender_url": "https://portal.angellist.com/path_to_sender_distribution",
      "recipient_url": "https://portal.angellist.com/path_to_recipient_distribution",
      "payments": {
        "object": "list",
        "data": [
          {
            "object": "distribution_payment",
            "livemode": true,
            "id": "dpmt_sSTfFdsytyOearj36zDNcmXn1pJ4",
            "amount": 1000,
            "currency": "USD",
            "status": "staged",
            "recipient_confirmed_at": "2023-11-07T05:31:56Z",
            "verified_at": "2023-11-07T05:31:56Z",
            "entity": "ent_H0hdMOc5E5QMTEcGVZKegvLNCB6p",
            "payment_instructions": "pmi_021wlGURMlk80cYuKBjENXqwC3OV",
            "notifications": {
              "object": "list",
              "data": [
                {
                  "object": "distribution_notification",
                  "livemode": true,
                  "id": "dntf_bXlZNOmqHkAM8gS4h12vtwlI9sJx",
                  "contact": "cnt_tSfCZrNE8O3c4QATSkzuCljMZ2DI"
                }
              ],
              "has_more": true,
              "url": "/v1/distribution_payments/{payment_id}/notifications"
            },
            "distribution_date_override": "2024-04-20T00:00:00Z"
          }
        ],
        "has_more": true,
        "url": "/v1/distributions/{distribution_id}/payments"
      }
    }
  ],
  "has_more": true,
  "url": "/v1/distributions"
}

Authorizations

Authorization
string
header
required

OAuth2 client_credentials grant for server-to-server access. Onboard via your Nova admin to receive a client_id and client_secret, then POST /oauth/token to exchange them for a short-lived access token. Send the token as Authorization: Bearer <access_token> on every authenticated request. Tokens expire after 3600 seconds — refresh by re-exchanging credentials.

Headers

X-Organization-Id
string

ID of the organization the request acts on. Optional when the access token is bound to a specific organization, or when the integration has access to exactly one organization.

Pattern: ^org_[A-Za-z0-9]+$
Example:

"org_Xk7d2pQR9m3nBwYz"

Idempotency-Key
string

Supply a unique key to make a mutating request safely retryable. Any retry that sends the same key returns that stored response without performing the operation again.

  • Retention: keys are kept for 24 hours. Within that window a retry replays the original response.
  • Same key, different request: reusing a key with a different request body returns a 409 with code idempotency_mismatch. Use a fresh key for each distinct operation.
  • Still processing: if the first request has not finished, a retry returns 409 with code conflict (wait briefly and retry).
  • Server or transient errors (5xx, 408, 429) are not stored, so you may retry with the same key and the operation will be attempted again.

Only applies to POST, PUT, PATCH, and DELETE; ignored on reads.

Body

application/json
Required array length: 1 element
name
string
required
Minimum string length: 1
Example:

"April 20th Distribution from XYZ Sale"

distribution_date
string<date-time>
required

Distribution date

Example:

"2024-04-20T00:00:00Z"

vehicle
string
required

ID of the vehicle this distribution pays from

Pattern: ^veh_[A-Za-z0-9]+$
Example:

"veh_pNvehE6O1KjY2W6Omq9MD3QAEs5w"

payments
object[]
required

List of payments

Minimum array length: 1
external_reference
string | null

Your own identifier for this distribution

Example:

"distribution-123"

Response

Distribution created

object
enum<string>
required

Object type identifier.

Available options:
list
Example:

"list"

data
object[]
required

The page of items.

has_more
boolean
required

Whether there are more items available after this page.

url
string
required

The URL for this list endpoint.

Example:

"/v1/distributions"