DealSleek API · Billing

Preview

Generate Invoice

Generate an invoice (status OPEN) from a subscription's usage.

POST/api/v1/billing/dispatch

Authorization

Minimum role
FinanceThe caller must hold this role or a higher one.
Action
GENERATE_INVOICE

Headers

  • AuthorizationstringRequired

    Access token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.

  • X-CQRS-ActionstringRequired

    Names the command to run. Must be GENERATE_INVOICE for this endpoint.

  • Content-TypestringRequired

    Always application/json.

  • X-Idempotency-KeystringOptional

    A key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.

  • X-Correlation-IdstringOptional

    Your own identifier for the request. Returned in the x-correlation-id response header; generated when you leave it out.

Request body

  • account_iduuidRequired

    No description yet.

  • currencystringRequired

    No description yet.

    minimum length 3
    maximum length 3
  • invoice_iduuidRequired

    No description yet.

  • linesarray of objectRequired

    At least one. A zero-line invoice is the defect this replaces.

    minimum items 1
    9 child fields
    • amountstringRequired

      No description yet.

    • descriptionstringRequired

      No description yet.

      minimum length 1
    • quantitystringRequired

      No description yet.

    • unit_pricestringRequired

      No description yet.

    • discount_fractionstringOptional

      Per-line discount as a fraction (0.10 = 10%).

      Default
      0
    • is_proratedbooleanOptional

      No description yet.

      Default
      false
    • metric_typeenum or nullOptional

      No description yet.

      Allowed values
      • API_CALL
      • AGENT_TASK
      • MEETING_MINUTES
      • EMAIL_SENT
      • CONTRACT_GENERATED
      • ACTIVE_SEATS
    • pricing_modelenumOptional

      No description yet.

      Allowed values
      • FLAT
      • TIERED
      • VOLUME
      • SEAT_BASED
      Default
      FLAT
    • tax_ratestringOptional

      Per-line tax rate as a fraction (0.20 = 20%).

      Default
      0
  • period_enddate-time or nullOptional

    No description yet.

  • period_iduuid or nullOptional

    No description yet.

  • period_startdate-time or nullOptional

    No description yet.

  • subscription_iduuid or nullOptional

    No description yet.

Response

Status 202. The command was applied. The body reports the outcome and, where the command changes a record, that record's new state.

  • successbooleanRequired

    true when the command was applied.

  • error_messagestringRequired

    Empty when the command was applied.

  • projected_stateobjectOptional

    The record as it stands after the command.

  • event_payloadobjectOptional

    The event the command recorded.

  • insightsarray of objectOptional

    Advisory notes about the result. Each has a code, a message and an impact number.

Errors

Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.

  • 400X-CQRS-Action is missing or names a command this route does not accept. Send GENERATE_INVOICE.
  • 400DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types.
  • 401The access token is missing, expired or not valid.
  • 401L1_AUTHThe caller's role is below finance or the caller has no access to this record.
  • 403L1_POLICYA business rule refused the command. The message names the rule.
  • 409L1_IDEMPOTENCYA command with this idempotency key was already applied.
  • 409CONFLICTThe command would duplicate a record that must be unique.
  • 500L3_COMMITThe command was valid but could not be saved.
Generated from the API contract · revision 007b75ac0754a359