# Retrieve payout request timeline messages

Retrieves a list of payout request timeline messages.

Endpoint: GET /payout-requests/{id}/timeline
Version: latest
Security: SecretApiKey, JWT

## Security:

  - `SecretApiKey` (unknown)
    apiKey in header REB-APIKEY

  - `JWT` (unknown)
    http bearer JWT

## Path parameters:

  - `id` (string, required)
    ID of the resource.

## Query parameters:

  - `limit` (integer)
    Limit the number of collection items to be returned.
Use `0` to return an empty collection and still receive the count of matching items in `Pagination-Total`.

  - `offset` (integer)
    Specifies the starting point within the collection of items to be returned.

  - `filter` (string)
    Criteria for filtering collection items.
This field requires a special format.
Use `,` to specify multiple allowed values.
Use `;` to specify multiple fields.

For more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).

  - `sort` (array)
    Sorts and orders the collection of items. To sort in descending
order, prefix with `-`. Multiple fields can be sorted by separating each with `,`.

  - `q` (string)
    Use this field to perform a partial search of text fields.

## Response 200:

  - `200` (unknown)
    List of payout request timeline messages retrieved.

## Response 200 fields (application/json):

  - `id` (string, required)
    ID of the message.
    Example: tlm_0YVDMDE2BMC6KBB5MX76RF6T80

  - `type` (string, required)
    Type of timeline event.
    Enum: "timeline-comment-created", "payout-request-created", "payout-request-ready", "payout-request-returned-to-pending", "payout-request-approved", "payout-request-approval-undone", "payout-request-allocated", "payout-request-processing-started", "payout-request-fulfilled", "payout-request-canceled", "payout-request-reversed", "payout-request-blocked", "payout-request-unblocked", "payout-request-added-to-batch", "payout-request-removed-from-batch"

  - `occurredTime` (string, required)
    Read-only timestamp in ISO 8601 date-time format.

  - `triggeredBy` (string, required)
    Who or what triggered this event.
    Enum: "rebilly", "app", "direct-api"

  - `message` (string, required)
    Human-readable message describing the timeline event.

  - `extraData` (object, required)
    Additional data.

  - `extraData.actions` (array)
    Actions available for a timeline message.
If no actions are available, this field is empty.

  - `extraData.actions.action` (string)
    Enum: "redemption-cancel"

  - `extraData.actions.redemptionId` (string)
    Unique resource ID.
    Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21

  - `extraData.actions.version` (integer)
    Version of the ruleset to restore.

  - `extraData.tables` (array)
    Table data that is attached to the timeline message.

  - `extraData.tables.type` (string)
    Enum: "list", "one-columns", "two-columns", "three-columns"

  - `extraData.tables.title` (string)
    Data table title.

  - `extraData.tables.footer` (string)
    Data table footer.

  - `extraData.tables.data` (array)
    Table data.
Each array element represents a table row.

  - `extraData.tables.data.attribute` (string)

  - `extraData.tables.data.previousValue` (string | integer | number | boolean)

  - `extraData.tables.data.newValue` (string | integer | number | boolean)

  - `extraData.author` (object)
    Author of the timeline message.

  - `extraData.author.userFullName` (string)
    Full name of the author.

  - `extraData.author.userId` (string)
    ID of the author.
    Example: usr_0YVCEENYJ3D7Q9EN6BN16HA0G4

  - `extraData.mentions` (object)
    User mentions, or tags, in a timeline.
    Example: {"@test@mail.com":"userId-1"}

  - `extraData.links` (array)
    Links that are attached to a timeline message.

  - `extraData.links.resourceType` (string)
    Enum: "kyc-document", "invoice", "subscription", "transaction", "email-message", "dispute", "coupon", "external", "payout-request-batch"

  - `extraData.links.placeholder` (string)
    Example: KYC document

  - `extraData.links.externalUrl` (string)
    Example: http://example.com

## Response 200 headers (application/json):

  - `Pagination-Total` (integer)
    Total number of items that match the request.
The value is independent of `limit`, including when `limit` is `0`.
    Example: 332

  - `Pagination-Limit` (integer)
    Maximum number of items per page.
    Example: 100

  - `Pagination-Offset` (integer)
    Specifies the starting point within the
collection of resource results. For example, a request with
`limit=20` retrieves and displays the first 20 results on a page. A
following request with `limit=20` and `offset=20`, retrieves the next
page of 20 results.
    Example: 2

## Response 401:

  - `401` (unknown)
    Unauthorized access.
Invalid credentials used.

## Response 401 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 403:

  - `403` (unknown)
    Access forbidden.
If the organization requires multi-factor authentication (MFA) and the session has not passed MFA, `error` is `mfa_required`.

## Response 403 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `error` (string)
    Message that describes why the request is forbidden.
Most responses use a descriptive message, such as `Not allowed to change security settings`.
If the organization requires multi-factor authentication (MFA) and MFA verification has not been completed for the session, this value is `mfa_required`.
If the request sets `requireMfa` to `true` and MFA verification has not been completed for the session, this value is `mfa_required_for_caller`.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 404:

  - `404` (unknown)
    Resource not found.

## Response 404 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 429:

  - `429` (unknown)
    Request rate limit exceeded.

## Response 429 fields (application/json):

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".
    Example: about:blank

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.
    Example: Rate Limit Exceeded

  - `status` (integer)
    HTTP status code.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.
    Example: A request cannot be executed because the user has sent too many requests within a certain period of time

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 429 headers (application/json):

  - `Rate-Limit-Limit` (integer)
    Maximum number of requests available at one time for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 500

  - `Rate-Limit-Remaining` (integer)
    Number of requests still available for this rate limit.
For more information, see [Rate limits](#section/Rate-limits).
    Example: 0

  - `Rate-Limit-Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 1

  - `Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 1

