Skip to content
Developer docs
⌘ K
Dashboard ↗

HTTP endpoints

listPartnerPayouts

A partner's payouts, newest first. Pass nextCursor to read the next page. Needs read or payouts:write. Keys without payouts:write get payouts without the Stripe destination.

GET /api/v1/partners/{id}/payouts

GET /api/v1/partners/by-external-id/{externalId}/payouts

Requires read or payouts:write. Keep the Bearer key on your server.

SDK

ts
grizzlee.listPartnerPayouts(partner: { externalId: string; } | { id: string; }, options?: ListPartnerPayoutsOptions | undefined): Promise<PayoutPage>

HTTP

Use your backend's HTTP client. The cURL request shows the wire format. Replace path parameters and example values.

sh
curl --fail-with-body --request GET \
  'https://app.grizzlee.ca/api/v1/partners/{id}/payouts' \
  -H "Authorization: Bearer $GRIZZLEE_SERVER_KEY"

Query parameters

FieldTypeRequiredDetails
cursorstringNo
limitintegerNominimum 1. maximum 100. default 50

Response

HTTP responses wrap this value in data. The SDK returns the value directly unless the note above describes a wrapper.

FieldTypeRequiredDetails
payoutsarrayYesNewest first.
nextCursorunionYesPass as cursor to read the next page. Null on the last page.

payouts[]

FieldTypeRequiredDetails
payouts.allocationsarrayYes
payouts.idstringYes
payouts.companyIdstringYes
payouts.partnerIdstringYes
payouts.currencyunionYes
payouts.amountCentsnumberYesGross amount. Merchant allocations sum to this amount.
payouts.nettedDebtCentsnumberNoDebt kept from a merchant payout. Defaults to zero on older payouts.
payouts.netAmountCentsnumberNoTransfer amount, equal to amountCents minus nettedDebtCents.
payouts.statusunionYes
payouts.reversedCentsnumberNoCumulative Stripe transfer amount returned to the merchant, in minor units.
payouts.reversedAtstringNoWhen Grizzlee last recorded an increase in reversedCents.
payouts.providerunionYesmanual: the merchant sends the money and marks the payout paid. stripe: Grizzlee sends a Stripe transfer from the merchant's Stripe balance and marks the payout paid or failed itself.
payouts.modeunionNogrizzlee_wallet reserves the partner's available wallet cash. merchant pays specific merchant-delivered rewards listed in allocations. Absent on payouts created before merchant payouts existed, which use the wallet.
payouts.integrationIdstringNoStripe connection that sends the transfer. Stripe payouts only.
payouts.destinationstringNoStripe connected account that receives the transfer. Stripe payouts only.
payouts.providerReferencestringNoThe Stripe transfer ID or the merchant's own payment reference once paid.
payouts.transferGroupstringNoStripe transfer_group Grizzlee sets on the transfer, grizzlee_payout_<payout ID>.
payouts.paidAtstringNoWhen the partner received the money, if the merchant reported it.
payouts.lastErrorstringNo
payouts.lastErrorPartsarrayNolastError as codes. Absent on errors recorded before codes existed.
payouts.eventIdstringYes
payouts.scheduleobjectNoPresent when Grizzlee created this merchant payout from the company's payout schedule.
payouts.createdAtstringYes
payouts.updatedAtstringYes

payouts.allocations[]

FieldTypeRequiredDetails
payouts.allocations.idstringYes
payouts.allocations.companyIdstringYes
payouts.allocations.payoutIdstringYes
payouts.allocations.partnerIdstringYes
payouts.allocations.rewardIdstringYes
payouts.allocations.orderIdstringNoThe reward's order. Absent for milestone rewards.
payouts.allocations.milestonestringNoThe reward's milestone. Absent for order rewards.
payouts.allocations.programIdstringYes
payouts.allocations.currencyunionYes
payouts.allocations.amountCentsnumberYes
payouts.allocations.createdAtstringYes

payouts.allocations.currency

Variant 1

Type: string.

Variant 2

Type: string.

Variant 3

Type: string.

Variant 4

Type: string.

payouts.currency

Variant 1

Type: string.

Variant 2

Type: string.

Variant 3

Type: string.

Variant 4

Type: string.

payouts.status

Variant 1

Type: string.

Variant 2

Type: string.

Variant 3

Type: string.

Variant 4

Type: string.

Variant 5

Type: string.

Variant 6

Type: string.

Variant 7

Type: string.

payouts.provider

Variant 1

Type: string.

Variant 2

Type: string.

payouts.mode

Variant 1

Type: string.

Variant 2

Type: string.

payouts.lastErrorParts[]

FieldTypeRequiredDetails
payouts.lastErrorParts.codeunionYes
payouts.lastErrorParts.paramsobjectNo

payouts.lastErrorParts.code

Variant 1

Type: string.

Variant 2

Type: string.

Variant 3

Type: string.

Variant 4

Type: string.

Variant 5

Type: string.

Variant 6

Type: string.

Variant 7

Type: string.

Variant 8

Type: string.

Variant 9

Type: string.

Variant 10

Type: string.

Variant 11

Type: string.

Variant 12

Type: string.

Variant 13

Type: string.

Variant 14

Type: string.

Variant 15

Type: string.

Variant 16

Type: string.

Variant 17

Type: string.

Variant 18

Type: string.

Variant 19

Type: string.

Variant 20

Type: string.

Variant 21

Type: string.

Variant 22

Type: string.

Variant 23

Type: string.

Variant 24

Type: string.

Variant 25

Type: string.

Variant 26

Type: string.

Variant 27

Type: string.

Variant 28

Type: string.

Variant 29

Type: string.

payouts.lastErrorParts.params

Type: object.

payouts.schedule

FieldTypeRequiredDetails
payouts.schedule.dueOnstringYesDue date of the run, YYYY-MM-DD in UTC.
payouts.schedule.approvedBeforestringYesThe run paid rewards approved at or before this time: the due date minus the hold period.

nextCursor

Variant 1

Type: null.

Variant 2

Type: string.

Response schema

json
{
  "type": "object",
  "properties": {
    "payouts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "allocations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "companyId": {
                  "type": "string"
                },
                "payoutId": {
                  "type": "string"
                },
                "partnerId": {
                  "type": "string"
                },
                "rewardId": {
                  "type": "string"
                },
                "orderId": {
                  "type": "string",
                  "description": "The reward's order. Absent for milestone rewards."
                },
                "milestone": {
                  "type": "string",
                  "description": "The reward's milestone. Absent for order rewards."
                },
                "programId": {
                  "type": "string"
                },
                "currency": {
                  "anyOf": [
                    {
                      "type": "string",
                      "const": "CAD"
                    },
                    {
                      "type": "string",
                      "const": "USD"
                    },
                    {
                      "type": "string",
                      "const": "EUR"
                    },
                    {
                      "type": "string",
                      "const": "GBP"
                    }
                  ]
                },
                "amountCents": {
                  "type": "number"
                },
                "createdAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "companyId",
                "payoutId",
                "partnerId",
                "rewardId",
                "programId",
                "currency",
                "amountCents",
                "createdAt"
              ]
            }
          },
          "id": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "partnerId": {
            "type": "string"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "const": "CAD"
              },
              {
                "type": "string",
                "const": "USD"
              },
              {
                "type": "string",
                "const": "EUR"
              },
              {
                "type": "string",
                "const": "GBP"
              }
            ]
          },
          "amountCents": {
            "type": "number",
            "description": "Gross amount. Merchant allocations sum to this amount."
          },
          "nettedDebtCents": {
            "type": "number",
            "description": "Debt kept from a merchant payout. Defaults to zero on older payouts."
          },
          "netAmountCents": {
            "type": "number",
            "description": "Transfer amount, equal to amountCents minus nettedDebtCents."
          },
          "status": {
            "anyOf": [
              {
                "type": "string",
                "const": "reversed"
              },
              {
                "type": "string",
                "const": "failed"
              },
              {
                "type": "string",
                "const": "queued"
              },
              {
                "type": "string",
                "const": "processing"
              },
              {
                "type": "string",
                "const": "needs_action"
              },
              {
                "type": "string",
                "const": "paid"
              },
              {
                "type": "string",
                "const": "cancelled"
              }
            ]
          },
          "reversedCents": {
            "type": "number",
            "description": "Cumulative Stripe transfer amount returned to the merchant, in minor units."
          },
          "reversedAt": {
            "type": "string",
            "description": "When Grizzlee last recorded an increase in reversedCents."
          },
          "provider": {
            "anyOf": [
              {
                "type": "string",
                "const": "manual"
              },
              {
                "type": "string",
                "const": "stripe"
              }
            ],
            "description": "manual: the merchant sends the money and marks the payout paid. stripe: Grizzlee sends a Stripe\ntransfer from the merchant's Stripe balance and marks the payout paid or failed itself."
          },
          "mode": {
            "anyOf": [
              {
                "type": "string",
                "const": "grizzlee_wallet"
              },
              {
                "type": "string",
                "const": "merchant"
              }
            ],
            "description": "grizzlee_wallet reserves the partner's available wallet cash. merchant pays specific\nmerchant-delivered rewards listed in allocations. Absent on payouts created before merchant\npayouts existed, which use the wallet."
          },
          "integrationId": {
            "type": "string",
            "description": "Stripe connection that sends the transfer. Stripe payouts only."
          },
          "destination": {
            "type": "string",
            "description": "Stripe connected account that receives the transfer. Stripe payouts only."
          },
          "providerReference": {
            "type": "string",
            "description": "The Stripe transfer ID or the merchant's own payment reference once paid."
          },
          "transferGroup": {
            "type": "string",
            "description": "Stripe transfer_group Grizzlee sets on the transfer, grizzlee_payout_<payout ID>."
          },
          "paidAt": {
            "type": "string",
            "description": "When the partner received the money, if the merchant reported it."
          },
          "lastError": {
            "type": "string"
          },
          "lastErrorParts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "anyOf": [
                    {
                      "type": "string",
                      "const": "retries_stopped"
                    },
                    {
                      "type": "string",
                      "const": "connection_disabled"
                    },
                    {
                      "type": "string",
                      "const": "connection_unavailable"
                    },
                    {
                      "type": "string",
                      "const": "debt_settled"
                    },
                    {
                      "type": "string",
                      "const": "payout_changed"
                    },
                    {
                      "type": "string",
                      "const": "delivery_failed"
                    },
                    {
                      "type": "string",
                      "const": "no_transfer_sent"
                    },
                    {
                      "type": "string",
                      "const": "rewards_payable"
                    },
                    {
                      "type": "string",
                      "const": "refund_reduced_earnings"
                    },
                    {
                      "type": "string",
                      "const": "rewards_not_marked"
                    },
                    {
                      "type": "string",
                      "const": "contact_support"
                    },
                    {
                      "type": "string",
                      "const": "transfer_unmatched"
                    },
                    {
                      "type": "string",
                      "const": "stripe_key_rejected"
                    },
                    {
                      "type": "string",
                      "const": "stripe_key_permission"
                    },
                    {
                      "type": "string",
                      "const": "stripe_insufficient_funds"
                    },
                    {
                      "type": "string",
                      "const": "partner_onboarding"
                    },
                    {
                      "type": "string",
                      "const": "partner_account_missing"
                    },
                    {
                      "type": "string",
                      "const": "stripe_rejected"
                    },
                    {
                      "type": "string",
                      "const": "stripe_rejected_code"
                    },
                    {
                      "type": "string",
                      "const": "answer_kept"
                    },
                    {
                      "type": "string",
                      "const": "search_failed"
                    },
                    {
                      "type": "string",
                      "const": "not_confirmed"
                    },
                    {
                      "type": "string",
                      "const": "rewards_kept"
                    },
                    {
                      "type": "string",
                      "const": "earnings_reserved"
                    },
                    {
                      "type": "string",
                      "const": "transfer_conflict"
                    },
                    {
                      "type": "string",
                      "const": "transfers_conflict"
                    },
                    {
                      "type": "string",
                      "const": "check_transfer_group"
                    },
                    {
                      "type": "string",
                      "const": "check_transfer_metadata"
                    },
                    {
                      "type": "string",
                      "const": "cancelled_no_transfer"
                    }
                  ]
                },
                "params": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    ]
                  }
                }
              },
              "required": [
                "code"
              ]
            },
            "description": "lastError as codes. Absent on errors recorded before codes existed."
          },
          "eventId": {
            "type": "string"
          },
          "schedule": {
            "type": "object",
            "properties": {
              "dueOn": {
                "type": "string",
                "description": "Due date of the run, YYYY-MM-DD in UTC."
              },
              "approvedBefore": {
                "type": "string",
                "description": "The run paid rewards approved at or before this time: the due date minus the hold period."
              }
            },
            "required": [
              "dueOn",
              "approvedBefore"
            ],
            "description": "Present when Grizzlee created this merchant payout from the company's payout schedule."
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "allocations",
          "id",
          "companyId",
          "partnerId",
          "currency",
          "amountCents",
          "status",
          "provider",
          "eventId",
          "createdAt",
          "updatedAt"
        ]
      },
      "description": "Newest first."
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "null"
        },
        {
          "type": "string"
        }
      ],
      "description": "Pass as cursor to read the next page. Null on the last page."
    }
  },
  "required": [
    "payouts",
    "nextCursor"
  ]
}

Errors

Failures return { "error": { "code": "...", "message": "...", "details": {} } }. Details are optional. See error statuses. Reuse an unchanged event payload when retrying.