Partner payouts - Create a new transaction history export request

This API allows to create a new transaction history export request. We recommend to use $filter param for every request. Please see below on the usage of the filters and all the filters available in the export page interface (UX) are also available through this API, providing flexibility and consistency in filtering data.

POST https://api.partnercenter.microsoft.com/v{version}/payouts/transactionhistory
POST https://api.partnercenter.microsoft.com/v{version}/payouts/transactionhistory?$filter={$filter}&enrollmentParticipantId={enrollmentParticipantId}&earningForDate={earningForDate}&transactionAmount={transactionAmount}&earningAmount={earningAmount}&engagementName={engagementName}&Multiple filters={Multiple filters}

URI Parameters

Name In Required Type Description
version
path True

string

$filter
query

string

The $filter query param is an optional parameter for creating a export operation. However, we highly recommend to use $filter for better performance and faster availability of the export report. Below are some of the key attribute filters that can be used as part of export operation

earningAmount
query

double

Earning amount filter for a export request. Usage: {baseUrl}/payouts/transactionhistory?$filter=earningAmount ge 2000 and earningAmount le 5000

earningForDate
query

string

Earning period date filter for a export request. Usage: {baseUrl}/payouts/transactionhistory?$filter=earningForDate ge 2023-03-01 and earningForDate le 2023-04-12

engagementName
query

string

Engagement name filter for a export request. Usage: {baseUrl}/payouts/transactionhistory?$filter=engagementName='Azure CSP motion incentives'

enrollmentParticipantId
query

int

Enrolled MPN Id filter for a export request. Usage: {baseUrl}/payouts/transactionhistory?$filter=enrollmentParticipantId=12345

Multiple filters
query

string

Here is a sample query to create a export request with multiple filters. Usage: {baseUrl}/payouts/transactionhistory?$filter=earningForDate ge 2023-01-01 and earningForDate le 2023-05-31 and (enrollmentParticipantId eq 'XXXXXXX') and (programName eq 'Microsoft Commerce Incentives') and (payableSubType eq 'REBATE') and (paymentId eq 'xxxxxxx') and (engagementName eq 'Azure Enterprise and Self-Service Incentive' or engagementName eq 'Azure CSP motion incentives - Indirect Provider')”

transactionAmount
query

double

Transaction amount filter for a export request. Usage: {baseUrl}/payouts/transactionhistory?$filter=transactionAmount ge 2000 and transactionAmount le 5000

Request Header

Name Required Type Description
Authorization True

string

Authorization Bearer token

Client-Request-ID

string

ID of request provided by user

Responses

Name Type Description
202 Accepted

Microsoft.Partner.Service.PartnerPayout.Contracts.V1.Export

The request was successfully accepted for processing.

Headers

Request-ID: string

400 Bad Request

There was a missing or an invalid input. The response body will provide the error details.

401 Unauthorized

The request was not authenticated. The client needs to authenticate with the partner API service first.

403 Forbidden

The request was authenticated but was refused since the caller does not have the rights to invoke it.

404 Not Found

The resource is not found.

429 Too Many Requests

Too many requests.

500 Internal Server Error

The partner API service or one of its dependencies failed to fulfill the request. Callers may retry this.

Definitions

Microsoft.Partner.Service.PartnerPayout.Contracts.V1.Export

Name Type Description
blobLocation

string

processingStartDateTime

string

requestDateTime

string

requestId

string

requestPath

string

requestQueryString

string

status enum:
  • Completed
  • Failed
  • Processing
  • Queued