CreatorIQ Payments API
Read creator payouts and payables, and check the payment-information collection status of creators.
Read creator payouts and payables, and check the payment-information collection status of creators.
openapi: 3.1.0
info:
version: 1.0.0
title: CreatorIQ Payments API
description: |
The Payments API exposes read-only access to a partner's creator payouts,
payables and creator payment-info collection status. It is the public
counterpart of the CreatorIQ Payments product and lets integrators reconcile
payout data, monitor payable statuses and track which creators still need to
submit their payment information.
## Key Use Cases:
- **Reconcile payouts**: Retrieve a paginated list of payouts (creator view) with amounts, statuses and payout dates to reconcile against your own ledger.
- **Track payables**: List individual payables with their campaign, currency, due/completion dates and current status.
- **Monitor payment-info collection**: Identify creators whose payment info, tax info or approval is still pending so payouts are not blocked.
## Authentication
All requests are authenticated with your API key sent in the `X-API-KEY`
header. The platform gateway validates the key and implicitly scopes every
response to the authenticated partner (and division, when the key is
division-scoped).
## Pagination
All endpoints use keyset (cursor) pagination. Send `PageSize`, `Direction`,
`SortField` and `SortOrder` on the first request, then pass the `EndCursor`
(forward) or `StartCursor` (backward) returned in `Metadata.Pagination` as the
`Cursor` value to fetch the next page.
termsOfService: 'https://www.creatoriq.com/legal/terms-of-use'
contact:
name: CreatorIQ
url: 'https://www.creatoriq.com'
email: support@creatoriq.com
license:
url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
name: Apache 2.0
servers:
- url: 'https://apis.creatoriq.com'
description: Live
paths:
/payments/v1/payouts:
get:
tags:
- Payouts
summary: List payouts
description: |
Returns a paginated list of the authenticated partner's payouts in the
creator view. Payouts are referenced exclusively by their customer-facing
`PayoutID`; the internal payout identifier is never exposed.
operationId: listPayouts
parameters:
- $ref: '#/components/parameters/Cursor'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/Direction'
- $ref: '#/components/parameters/SortOrder'
- name: SortField
in: query
description: 'Field to sort by. One of: PayoutDate, PublisherID, CreatedAt.'
required: true
schema:
type: string
enum:
- PayoutDate
- PublisherID
- CreatedAt
examples:
- PayoutDate
examples:
default:
value: PayoutDate
- name: PublisherID
in: query
description: Filters payouts by creator (publisher) id.
required: false
schema:
type: integer
minimum: 1
examples:
- 20985049
examples:
default:
value: 20985049
- name: DivisionID
in: query
description: Comma-separated list of division ids to filter by. Each entry must be a positive integer or the literal `null` (payouts with no division).
required: false
schema:
type: string
examples:
- '12,34'
examples:
default:
value: '12,34'
- name: DateStart
in: query
description: Returns payouts with a payout date on or after this ISO 8601 UTC timestamp.
required: false
schema:
type: string
format: date-time
examples:
- '2026-05-01T00:00:00Z'
examples:
default:
value: '2026-05-01T00:00:00Z'
- name: DateEnd
in: query
description: Returns payouts with a payout date on or before this ISO 8601 UTC timestamp.
required: false
schema:
type: string
format: date-time
examples:
- '2026-06-01T00:00:00Z'
examples:
default:
value: '2026-06-01T00:00:00Z'
- name: IncludePayoutStatus
in: query
description: 'Comma-separated list of payout statuses to include. Mutually exclusive with `ExcludePayoutStatus`. `NO ACCOUNT` is not accepted as a filter value. Valid values: READY, UNPAYABLE, BELOW MINIMUM, SUBMITTED, PROCESSING, SENT, SUBMISSION FAILED, PAID, CANCELLED, FAILED.'
required: false
schema:
type: string
examples:
- 'READY,PAID'
examples:
default:
value: 'READY,PAID'
- name: ExcludePayoutStatus
in: query
description: Comma-separated list of payout statuses to exclude. Mutually exclusive with `IncludePayoutStatus`. `NO ACCOUNT` is not accepted as a filter value.
required: false
schema:
type: string
examples:
- 'CANCELLED,FAILED'
examples:
default:
value: 'CANCELLED,FAILED'
- name: Currency
in: query
description: Comma-separated list of ISO 4217 currency codes to filter by.
required: false
schema:
type: string
examples:
- 'USD,EUR'
examples:
default:
value: 'USD,EUR'
- name: PublisherIsPayable
in: query
description: Filters by whether the creator is currently payable.
required: false
schema:
type: string
enum:
- 'true'
- 'false'
examples:
- 'true'
examples:
default:
value: 'true'
- name: ExcludeCancelledPayouts
in: query
description: 'When `true`, cancelled payouts are omitted from the response.'
required: false
schema:
type: string
enum:
- 'true'
- 'false'
examples:
- 'true'
examples:
default:
value: 'true'
responses:
'200':
description: A paginated list of payouts.
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutsCollectionResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- apiKey: []
servers:
- url: 'https://apis.creatoriq.com'
description: Live
/payments/v1/payables:
get:
tags:
- Payables
summary: List payables
description: |
Returns a paginated list of the authenticated partner's payables.
Payables are referenced by their customer-facing `PayableID`;
the internal payable identifier is never exposed. Filters are additive
(combined with AND).
operationId: listPayables
parameters:
- $ref: '#/components/parameters/Cursor'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/Direction'
- $ref: '#/components/parameters/SortOrder'
- name: SortField
in: query
description: 'Field to sort by. One of: CampaignID, CreatedAt.'
required: true
schema:
type: string
enum:
- CampaignID
- CreatedAt
examples:
- CreatedAt
examples:
default:
value: CreatedAt
- name: PublisherID
in: query
description: Filters payables by creator (publisher) id.
required: false
schema:
type: integer
minimum: 1
examples:
- 20985049
examples:
default:
value: 20985049
- name: CampaignID
in: query
description: Filters payables by campaign id.
required: false
schema:
type: integer
minimum: 1
examples:
- 1205052
examples:
default:
value: 1205052
- name: PayoutID
in: query
description: Id of the payout the payable is currently assigned to.
required: false
schema:
type: string
examples:
- PO-2026-000123
examples:
default:
value: PO-2026-000123
- name: PayableStatus
in: query
description: 'Comma-separated list of payable statuses to filter by. `NO ACCOUNT` is not accepted as a filter value. Valid values: IN_REVIEW, REJECTED, READY, UNPAYABLE, BELOW MINIMUM, SUBMITTED, PROCESSING, SENT, SUBMISSION FAILED, PAID, CANCELLED, FAILED.'
required: false
schema:
type: string
examples:
- 'READY,IN_REVIEW'
examples:
default:
value: 'READY,IN_REVIEW'
- name: Currency
in: query
description: Comma-separated list of ISO 4217 currency codes to filter by.
required: false
schema:
type: string
examples:
- 'USD,EUR'
examples:
default:
value: 'USD,EUR'
- name: CompletedAtStart
in: query
description: Returns payables completed on or after this ISO 8601 UTC timestamp.
required: false
schema:
type: string
format: date-time
examples:
- '2026-05-01T00:00:00Z'
examples:
default:
value: '2026-05-01T00:00:00Z'
- name: CompletedAtEnd
in: query
description: Returns payables completed on or before this ISO 8601 UTC timestamp.
required: false
schema:
type: string
format: date-time
examples:
- '2026-06-01T00:00:00Z'
examples:
default:
value: '2026-06-01T00:00:00Z'
responses:
'200':
description: A paginated list of payables.
content:
application/json:
schema:
$ref: '#/components/schemas/PayablesCollectionResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- apiKey: []
servers:
- url: 'https://apis.creatoriq.com'
description: Live
/payments/v1/publishers/payment-info-collection-status:
get:
tags:
- Creator Payment Info
summary: Get creators' payment info collection status
description: |
Returns a paginated list describing, per creator, whether payment info,
tax info and approval have been collected. Replaces the legacy Creator
Payment Info Status report and lets you identify creators whose payouts
are blocked pending information.
operationId: getPaymentInfoCollectionStatus
parameters:
- $ref: '#/components/parameters/Cursor'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/Direction'
- $ref: '#/components/parameters/SortOrder'
- name: SortField
in: query
description: Field to sort by. Currently only PublisherId is supported.
required: true
schema:
const: PublisherId
examples:
- PublisherId
examples:
default:
value: PublisherId
- name: PayableStatus
in: query
description: Filters by whether the creator is payable (eligible to be paid).
required: false
schema:
type: string
enum:
- 'true'
- 'false'
examples:
- 'true'
examples:
default:
value: 'true'
- name: PaymentInfoStatus
in: query
description: 'Comma-separated list of payment-info statuses to filter by. Valid values: Not Submitted, Received, Invalid.'
required: false
schema:
type: string
examples:
- 'Received,Invalid'
examples:
default:
value: 'Received,Invalid'
- name: ApprovalStatus
in: query
description: 'Filters by approval state. `true` (approved), `false` (not approved) or `null` (no approval required).'
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'null'
examples:
- 'true'
examples:
default:
value: 'true'
responses:
'200':
description: A paginated list of creator payment-info collection statuses.
content:
application/json:
schema:
$ref: '#/components/schemas/CreatorPaymentInfoStatusCollectionResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- apiKey: []
servers:
- url: 'https://apis.creatoriq.com'
description: Live
tags:
- name: Creator Payment Info
description: Creator payment-info collection status
- name: Payables
description: Creator payables
- name: Payouts
description: Creator payouts
components:
parameters:
Cursor:
name: Cursor
in: query
description: Base64 keyset pagination cursor. Pass the `EndCursor` (forward) or `StartCursor` (backward) from the previous response's `Metadata.Pagination`. Omit on the first request.
required: false
schema:
type: string
examples:
- cGF5b3V0X2RhdGU7OzEyMzQ1
examples:
default:
value: cGF5b3V0X2RhdGU7OzEyMzQ1
PageSize:
name: PageSize
in: query
description: 'Number of items to return per page. Must be a positive integer, capped at 200.'
required: true
schema:
type: integer
minimum: 1
maximum: 200
examples:
- 50
examples:
default:
value: 50
Direction:
name: Direction
in: query
description: Pagination direction relative to the supplied cursor.
required: true
schema:
type: string
enum:
- forward
- backward
examples:
- forward
examples:
default:
value: forward
SortOrder:
name: SortOrder
in: query
description: Sort order for the selected `SortField`.
required: true
schema:
type: string
enum:
- asc
- desc
examples:
- desc
examples:
default:
value: desc
securitySchemes:
apiKey:
type: apiKey
name: X-API-KEY
in: header
responses:
BadRequestError:
description: Bad Request - invalid or missing query parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
ForbiddenError:
description: 'Forbidden - the API key is missing, invalid or lacks access.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
InternalServerError:
description: Internal Server Error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
PayoutsCollectionResponse:
type: object
description: A page of payouts with pagination metadata.
properties:
Data:
type: array
description: Payouts in this page.
items:
$ref: '#/components/schemas/Payout'
Metadata:
$ref: '#/components/schemas/CollectionMetadata'
required:
- Data
- Metadata
Payout:
type: object
description: A payout in the creator view.
properties:
PayoutID:
type:
- string
- 'null'
description: Customer-facing payout identifier.
examples:
- PO-2026-000123
HasRetries:
type: boolean
description: Whether the payout has been retried.
examples:
- false
PayoutDate:
type:
- string
- 'null'
description: When the payout was (or is scheduled to be) paid.
format: date-time
examples:
- '2026-05-19T07:00:00Z'
PublisherID:
type: integer
description: Creator (publisher) id.
examples:
- 20985049
DivisionID:
type:
- integer
- 'null'
description: Division the payout belongs to.
examples:
- 12
DivisionName:
type:
- string
- 'null'
description: Division name.
examples:
- North America
PublisherName:
type: string
description: Creator name.
examples:
- Jordan Lee
ProfilePictureURL:
type:
- string
- 'null'
description: Creator profile picture URL.
examples:
- 'https://static-resources.creatoriq.com/avatars/20985049.jpg'
PrimaryNetwork:
type:
- string
- 'null'
description: Creator's primary social network.
examples:
- instagram
PrimarySocialUsername:
type:
- string
- 'null'
description: Creator's primary social username.
examples:
- jordanlee
PublisherIsPayable:
type: boolean
description: Whether the creator is currently payable.
default: false
examples:
- true
PayoutMethod:
type:
- string
- 'null'
description: Method used for the payout.
examples:
- bank_transfer
PayoutStatus:
type: string
enum:
- READY
- UNPAYABLE
- BELOW MINIMUM
- NO ACCOUNT
- SUBMITTED
- PROCESSING
- SENT
- SUBMISSION FAILED
- PAID
- CANCELLED
- FAILED
description: Current payout status.
examples:
- PAID
ErrorMessage:
type:
- string
- 'null'
description: Error message when the payout failed.
examples:
- null
CancellationReason:
type:
- string
- 'null'
description: 'Reason the payout was cancelled, if applicable.'
examples:
- null
PayoutAmount:
$ref: '#/components/schemas/Amount'
CreatedAt:
type:
- string
- 'null'
description: When the payout was created.
format: date-time
examples:
- '2026-05-01T09:15:00Z'
UpdatedAt:
type:
- string
- 'null'
description: When the payout was last updated.
format: date-time
examples:
- '2026-05-19T07:00:00Z'
required:
- PayoutID
- HasRetries
- PublisherID
- PublisherName
- PublisherIsPayable
- PayoutStatus
- PayoutAmount
Amount:
type: object
description: A monetary amount with its currency.
properties:
Value:
type: string
description: 'Decimal amount, serialized as a string to preserve precision.'
examples:
- '1250.00'
Currency:
type: string
description: ISO 4217 currency code.
examples:
- USD
required:
- Value
- Currency
CollectionMetadata:
type: object
description: Metadata wrapper carrying pagination details.
properties:
Pagination:
$ref: '#/components/schemas/PaginationResponse'
required:
- Pagination
PaginationResponse:
type: object
description: Keyset pagination metadata.
properties:
StartCursor:
type:
- string
- 'null'
description: Cursor pointing at the first row of the current page. Pass it with `Direction=backward` to page back.
examples:
- cGF5b3V0X2RhdGU7OzEyMzQ1
EndCursor:
type:
- string
- 'null'
description: Cursor pointing at the last row of the current page. Pass it with `Direction=forward` to page ahead.
examples:
- cGF5b3V0X2RhdGU7OzEyMzk5
HasNextPage:
type: boolean
description: Whether more items are available after the current page.
examples:
- true
HasPreviousPage:
type: boolean
description: Whether items are available before the current page.
examples:
- false
PageSize:
type: integer
description: Number of items returned in the current page.
examples:
- 50
required:
- StartCursor
- EndCursor
- HasNextPage
- HasPreviousPage
- PageSize
PayablesCollectionResponse:
type: object
description: A page of payables with pagination metadata.
properties:
Data:
type: array
description: Payables in this page.
items:
$ref: '#/components/schemas/Payable'
Metadata:
$ref: '#/components/schemas/CollectionMetadata'
required:
- Data
- Metadata
Payable:
type: object
description: A single payable.
properties:
PayableID:
type:
- string
- 'null'
description: Customer-facing payable identifier.
examples:
- PA-2026-000987
PublisherID:
type: integer
description: Creator (publisher) id.
examples:
- 20985049
PayoutID:
type:
- string
- 'null'
description: 'Id of the payout the payable is assigned to, if any.'
examples:
- PO-2026-000123
CampaignID:
type:
- integer
- 'null'
description: Campaign the payable belongs to.
examples:
- 1205052
CampaignExternalName:
type:
- string
- 'null'
description: External campaign name.
examples:
- Summer 2026 Launch
CampaignInternalName:
type:
- string
- 'null'
description: Internal campaign name.
examples:
- SUM26-US
CompletedAt:
type:
- string
- 'null'
description: When the payable was completed.
format: date-time
examples:
- '2026-05-18T12:00:00Z'
DueDate:
type:
- string
- 'null'
description: When the payable is due.
format: date-time
examples:
- '2026-06-01T00:00:00Z'
PayableStatus:
type: string
enum:
- IN_REVIEW
- REJECTED
- READY
- UNPAYABLE
- BELOW MINIMUM
- NO ACCOUNT
- SUBMITTED
- PROCESSING
- SENT
- SUBMISSION FAILED
- PAID
- CANCELLED
- FAILED
description: Current payable status.
examples:
- READY
RequirementID:
type:
- string
- 'null'
description: Campaign requirement the payable originates from.
examples:
- req_88231
TransactionID:
type:
- string
- 'null'
description: Associated transaction id.
examples:
- txn_55120
PayableAmount:
$ref: '#/components/schemas/Amount'
NetworkCampaignID:
type:
- string
- 'null'
description: Network campaign id.
examples:
- nc_4471
PONumber:
type: string
description: Purchase order number.
examples:
- PO-4471
CreatedAt:
type: string
description: When the payable was created.
format: date-time
examples:
- '2026-05-01T09:15:00Z'
UpdatedAt:
type: string
description: When the payable was last updated.
format: date-time
examples:
- '2026-05-18T12:00:00Z'
required:
- PayableID
- PublisherID
- PayableStatus
- PayableAmount
- PONumber
- CreatedAt
- UpdatedAt
CreatorPaymentInfoStatusCollectionResponse:
type: object
description: A page of creator payment-info statuses with pagination metadata.
properties:
Data:
type: array
description: Creator payment-info statuses in this page.
items:
$ref: '#/components/schemas/CreatorPaymentInfoStatus'
Metadata:
$ref: '#/components/schemas/CollectionMetadata'
required:
- Data
- Metadata
CreatorPaymentInfoStatus:
type: object
description: Payment-info collection status for a single creator.
properties:
PublisherId:
type: integer
description: Creator (publisher) id.
examples:
- 20985049
PayableStatus:
type: boolean
description: Whether the creator is payable (eligible to be paid).
examples:
- true
PaymentInfoStatus:
type:
- string
- 'null'
description: 'Payment-info collection status: Not Submitted, Received or Invalid.'
examples:
- Received
TaxInfoStatus:
type:
- string
- 'null'
description: Tax-info collection status.
examples:
- Received
ApprovalStatus:
type:
- boolean
- 'null'
description: 'Approval state, or null when no approval is required.'
examples:
- true
PayoutCurrency:
type:
- string
- 'null'
description: The creator's payout currency (ISO 4217).
examples:
- USD
required:
- PublisherId
- PayableStatus
ErrorResponse:
type: object
description: Standard error response body.
properties:
ErrorMessage:
type: string
description: Human-readable error message.
examples:
- 'Invalid SortField, need one of: PayoutDate, PublisherID, CreatedAt'
Type:
type: string
description: Error type identifier.
examples:
- InvalidPayoutFiltersError
Details:
type: array
description: Additional error details.
items:
$ref: '#/components/schemas/ErrorDetail'
Context:
type: object
description: Additional error context.
required:
- ErrorMessage
ErrorDetail:
type: object
description: A single error detail entry.
properties:
Type:
type: string
description: Detail type.
examples:
- validation
Message:
type: string
description: Detail message.
examples:
- PageSize must not exceed 200
Context:
type: object
description: Detail context.
required:
- Type
security:
- apiKey: []