Invoices

Invoices represent billing records for your contacts. Linking an invoice to a contact creates an event that can trigger automated review request campaigns.

The invoice model

Properties

  • Name
    id
    Type
    integer
    Description

    Unique identifier for the invoice.

  • Name
    external_id
    Type
    string
    Description

    Your system's ID for this invoice. Can be used in place of id in requests.

  • Name
    amount
    Type
    decimal
    Description

    Invoice amount.

  • Name
    status
    Type
    string
    Description

    Invoice status (e.g. paid, unpaid, pending).

  • Name
    date_paid
    Type
    timestamp
    Description

    When the invoice was paid.

  • Name
    tags
    Type
    array
    Description

    Tags associated with this invoice.

  • Name
    contact_id
    Type
    string
    Description

    ID of the associated contact.

  • Name
    event_date
    Type
    timestamp
    Description

    The event date used for campaign scheduling.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the invoice was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    Timestamp of when the invoice was last updated.


GET/v1/invoices

List all invoices

Optional attributes

  • Name
    status
    Type
    string
    Description

    Filter by status.

  • Name
    limit
    Type
    integer
    Description

    Results per page (1–100). Defaults to 25.

  • Name
    page
    Type
    integer
    Description

    Page number. Defaults to 1.

Request

GET
/v1/invoices
curl -G https://dashboard.reviewrover.co/api/v1/invoices \
  -H "Authorization: Bearer {token}" \
  -d status=paid

Response

{
  "invoices": [
    {
      "id": 1,
      "external_id": "inv_001",
      "amount": "150.00",
      "status": "paid",
      "date_paid": "2025-02-17T00:00:00Z",
      "contact_id": "cont_KYdl3lftgZXGRbxqoj",
      "event_date": "2025-02-17T00:00:00Z",
      "created_at": "2025-02-17T02:00:34Z",
      "updated_at": "2025-02-17T02:00:34Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 25,
    "total": 1,
    "total_pages": 1
  }
}

POST/v1/invoices

Create an invoice

Required attributes

  • Name
    contact_id
    Type
    string
    Description

    ID of the contact this invoice belongs to.

Optional attributes

  • Name
    external_id
    Type
    string
    Description

    Your system's ID for this invoice.

  • Name
    amount
    Type
    decimal
    Description

    Invoice amount.

  • Name
    status
    Type
    string
    Description

    Invoice status.

  • Name
    date_paid
    Type
    timestamp
    Description

    When the invoice was paid.

  • Name
    event_date
    Type
    timestamp
    Description

    Event date for campaign scheduling. Defaults to created_at.

  • Name
    tags
    Type
    array
    Description

    Tags to associate with this invoice.

Request

POST
/v1/invoices
curl https://dashboard.reviewrover.co/api/v1/invoices \
  -H "Authorization: Bearer {token}" \
  -d contact_id="cont_KYdl3lftgZXGRbxqoj" \
  -d external_id="inv_001" \
  -d amount=150.00 \
  -d status="paid"

Response

{
  "id": 1,
  "external_id": "inv_001",
  "amount": "150.00",
  "status": "paid",
  "contact_id": "cont_KYdl3lftgZXGRbxqoj",
  "event_date": "2025-02-17T02:00:34Z",
  "created_at": "2025-02-17T02:00:34Z",
  "updated_at": "2025-02-17T02:00:34Z"
}

GET/v1/invoices/:id

Retrieve an invoice

Retrieve by numeric ID or external_id.

Request

GET
/v1/invoices/inv_001
curl https://dashboard.reviewrover.co/api/v1/invoices/inv_001 \
  -H "Authorization: Bearer {token}"

PUT/v1/invoices/:id

Update an invoice

Optional attributes

  • Name
    status
    Type
    string
    Description
    New status.
  • Name
    amount
    Type
    decimal
    Description
    Updated amount.
  • Name
    date_paid
    Type
    timestamp
    Description
    When the invoice was paid.
  • Name
    event_date
    Type
    timestamp
    Description
    Updated event date.

Request

PUT
/v1/invoices/1
curl -X PUT https://dashboard.reviewrover.co/api/v1/invoices/1 \
  -H "Authorization: Bearer {token}" \
  -d status="paid"

DELETE/v1/invoices/:id

Delete an invoice

Permanently deletes an invoice.

Request

DELETE
/v1/invoices/1
curl -X DELETE https://dashboard.reviewrover.co/api/v1/invoices/1 \
  -H "Authorization: Bearer {token}"