# List savings plan executions

List savings plan executions for a saving plan specified by its ID.

Endpoint: GET /savings_plans/{savings_plan_id}/executions
Version: 1.137.0
Security: oauth-client-credentials

## Path parameters:

  - `savings_plan_id` (string, required)
    The unique identifier of the savings plan. Universally Unique Identifier (UUID).

## Query parameters:

  - `start_date` (string)

  - `end_date` (string)

  - `sort` (string)
    Sort the result by `execution_date`, `created_at`, or `updated_at`.

  - `order` (string)
    Sort order of the result list if the `sort` parameter is specified. Use `ASC` for ascending or `DESC` for descending sort order.

  - `offset` (integer)
    Use the `offset` argument to specify where in the list of results to start when returning items for a particular query.

  - `limit` (integer)
    Use the `limit` argument to specify the maximum number of items returned.

## Header parameters:

  - `upvest-client-id` (string, required)
    Your client ID, issued by Upvest. Identifies the client making the request. Universally Unique Identifier (UUID).

  - `Authorization` (string, required)
    Bearer (access) token from the OAuth flow with correct scopes.
https://datatracker.ietf.org/doc/html/rfc6750

  - `signature` (string, required)
    https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

  - `signature-input` (string, required)
    https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

  - `upvest-api-version` (string)
    Upvest API version (Note: Do not include quotation marks)

## Response 200 fields (application/json):

  - `meta` (object, required)

  - `meta.offset` (integer, required)
    Amount of resource to offset in the response.

  - `meta.limit` (integer, required)
    Total limit of the response.

  - `meta.count` (integer, required)
    Count of the resources returned in the response.

  - `meta.total_count` (integer, required)
    Total count of all the resources.

  - `meta.sort` (string)
    The field that the list is sorted by.

  - `meta.order` (string)
    The ordering of the response.
* ASC - Ascending order
* DESC - Descending order
    Enum: "ASC", "DESC"

  - `data` (array, required)

  - `data.id` (string, required)
    Universally Unique Identifier (UUID) of a savings plan execution.

  - `data.created_at` (string, required)
    Date and time when the resource was created. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)

  - `data.updated_at` (string, required)
    Date and time when the resource was last updated. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)

  - `data.user_id` (string, required)
    Unique identifier of the user, as a UUID.

  - `data.account_id` (string, required)
    Account unique identifier.

  - `data.savings_plan_id` (string, required)
    Universally Unique Identifier (UUID) of a savings plan.

  - `data.order_id` (any, required)
    Order unique identifier (Portfolio order or Instrument order)

  - `data.order_id.id` (string, required)
    Unique identifier for an order. Universally Unique Identifier (UUID).

  - `data.order_id.created_at` (string, required)
    Date and time when the resource was created. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)

  - `data.order_id.updated_at` (string, required)
    Date and time when the resource was last updated. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)

  - `data.order_id.user_id` (string)
    The ID of the user. Either user ID or business ID must be specified.

  - `data.order_id.business_id` (string)
    The ID of the business. Either user ID or business ID must be specified.

  - `data.order_id.account_id` (string, required)
    The ID of the account that owns the order

  - `data.order_id.cash_amount` (string, required)
    Cash amount for a nominal order, not required if a share quantity is specified.

  - `data.order_id.currency` (string, required)
    The currency for the order.
    Enum: "EUR", "GBP", "USD"

  - `data.order_id.side` (string, required)
    Side of the order.
* BUY — purchases the specified instrument.
* SELL — disposes of the specified instrument.
    Enum: "BUY", "SELL"

  - `data.order_id.instrument_id` (string, required)
    International securities identification number defined by [ISO 6166](https://en.wikipedia.org/wiki/International_Securities_Identification_Number).

  - `data.order_id.instrument_id_type` (string, required)
    The type of the ID used in the request.
* ISIN -
    Enum: "ISIN"

  - `data.order_id.order_type` (string, required)
    Type of the order.
* MARKET — executes immediately at the best available market price.
* LIMIT — executes only at or better than the specified `limit_price`.
* STOP — triggers when the market price reaches `stop_price`, then executes at the prevailing market price.
    Enum: "MARKET", "LIMIT", "STOP"

  - `data.order_id.quantity` (string, required)
    Quantity of securities for the order. Only required if the cash amount is not specified.

  - `data.order_id.user_instrument_fit_acknowledgement` (boolean)
    Only applicable if the user has failed the instrument fit check for the instrument type being ordered. True if the user has acknowledged their willingness to trade.

  - `data.order_id.limit_price` (string)
    The limit price for orders of the type 'limit'.

  - `data.order_id.stop_price` (string)
    The stop price for orders of the type 'stop'.

  - `data.order_id.expiry_date` (string)
    The order expiration date (last day the order can trade) in the YYYY-MM-DD format. The expiry date can only be set for LIMIT and STOP orders. [RFC 3339, section 5.6](https://json-schema.org/draft/2020-12/json-schema-validation.html#RFC3339) RFC 3339. The default value is order creation date + 359 days

  - `data.order_id.status` (string, required)
    The execution status of the order.
* NEW — the order has been received and validated, awaiting routing.
* PROCESSING — the order is being routed for execution.
* FILLED — the order has been fully executed.
* CANCELLED — the order was cancelled before being fully executed.
    Enum: "NEW", "PROCESSING", "FILLED", "CANCELLED"

  - `data.order_id.fee` (string, required)

  - `data.order_id.cancellation_reason` (string)
    Reason for order cancellation. Present only when `status` is `CANCELLED`.
* CANCELLED_BY_CLIENT — cancelled at the end user's or client's request via the API.
* CANCELLED_BY_UPVEST_OPERATIONS — cancelled by Upvest operations.
* CANCELLED_BY_TRADING_PARTNER — cancelled by the executing partner.
* CANCELLED_BY_UPVEST_PLATFORM — cancelled automatically by the Upvest platform.
    Enum: "CANCELLED_BY_CLIENT", "CANCELLED_BY_UPVEST_OPERATIONS", "CANCELLED_BY_TRADING_PARTNER", "CANCELLED_BY_UPVEST_PLATFORM"

  - `data.order_id.initiation_flow` (string, required)
    Identifies what triggered the order.
* API — initiated directly via the client API.
* PORTFOLIO — initiated by a portfolio rebalancing flow.
* CASH_DIVIDEND_REINVESTMENT — initiated as part of dividend reinvestment.
* PORTFOLIO_REBALANCING — initiated by an automated rebalancing.
* SELL_TO_COVER_FEES — initiated automatically to cover outstanding fees.
* SELL_TO_COVER_TAXES — initiated automatically to cover tax obligations.
* ACCOUNT_LIQUIDATION — initiated as part of an account liquidation.
* UPVEST_OPERATIONS — initiated by Upvest operations.
* SAVINGS_PLAN — initiated by a savings plan execution.
* CLIENT_OPERATIONS — initiated by client operations.
    Enum: "API", "PORTFOLIO", "CASH_DIVIDEND_REINVESTMENT", "PORTFOLIO_REBALANCING", "SELL_TO_COVER_FEES", "SELL_TO_COVER_TAXES", "ACCOUNT_LIQUIDATION", "UPVEST_OPERATIONS", "SAVINGS_PLAN", "CLIENT_OPERATIONS"

  - `data.order_id.execution_flow` (string)
    Execution flow for order processing. Defaults to `STRAIGHT_THROUGH` if not specified.
* STRAIGHT_THROUGH — the order is routed and executed directly without manual intervention.
* BLOCK — the order is bundled with other orders for block execution.
    Enum: "STRAIGHT_THROUGH", "BLOCK"

  - `data.order_id.executions` (array, required)
    Order executions associated with this order

  - `data.order_id.executions.id` (string, required)

  - `data.order_id.executions.cash_amount` (string, required)

  - `data.order_id.executions.share_quantity` (string, required)

  - `data.order_id.executions.price` (string, required)
    Price of an instrument for a trade execution provided as a decimal string.

  - `data.order_id.executions.transaction_time` (string, required)
    Timestamp of when the trade was executed at the market. [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) date-time format.

  - `data.order_id.executions.taxes` (array, required)
    Taxes deducted as part of this execution.

  - `data.order_id.executions.taxes.type` (string, required)
    Tax type
* TOTAL -
    Enum: "TOTAL"

  - `data.order_id.executions.taxes.amount` (string, required)

  - `data.order_id.executions.order_id` (string, required)
    Unique identifier for an order. Universally Unique Identifier (UUID).

  - `data.order_id.executions.status` (string, required)
    Status of the execution.
* FILLED — the execution has been filled.
* SETTLED — the execution has settled and securities and cash have been exchanged.
* CANCELLED — the execution was cancelled before settlement.
    Enum: "FILLED", "SETTLED", "CANCELLED"

  - `data.order_id.executions.side` (string, required)
    Side of the execution.
* BUY — a buy execution.
* SELL — a sell execution.
    Enum: "BUY", "SELL"

  - `data.order_id.executions.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR - Euro
* GBP - British Pound
* USD - US Dollar
    Enum: "EUR", "GBP", "USD"

  - `data.order_id.executions.settlement_date` (string)
    Order execution settlement date in the YYYY-MM-DD format. [RFC 3339, section 5.6](https://json-schema.org/draft/2020-12/json-schema-validation.html#RFC3339) RFC 3339

  - `data.order_id.executions.venue_id` (string, required)
    The ID of the venue

  - `data.order_id.client_reference` (string)
    Immutable reference to the API flow that initiated the order. For client initiated API flows, this is a client provided ID. For internal initiations, it is set to the ID of the related object.

  - `data.order_id.fee_configuration` (array)
    Fee configuration applied to this order. Determines how the order fee is calculated.

  - `data.order_id.fee_configuration.type` (string, required)
    Fee type
* TRANSACTION_FEE_BUY -
* TRANSACTION_FEE_SELL -
    Enum: "TRANSACTION_FEE_BUY", "TRANSACTION_FEE_SELL"

  - `data.order_id.fee_configuration.value_type` (string, required)
    The value type must be “ABSOLUTE”.

  - `data.order_id.fee_configuration.charge_method` (string, required)
    Indicates whether the fee will be charged by client or by other methods.
* CHARGED_BY_CLIENT -
* COLLECTED_BY_UPVEST -
    Enum: "CHARGED_BY_CLIENT", "COLLECTED_BY_UPVEST"

  - `data.order_id.fee_configuration.cash_amount` (string, required)

  - `data.order_id.fee_configuration.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR - Euro
* GBP - British Pound
* USD - US Dollar
    Enum: "EUR", "GBP", "USD"

  - `data.order_id.fee_configuration.transaction_fee_model_id` (string, required)
    The ID of the transaction fee model.

  - `data.order_id.decision_maker_id` (string)
    ID of the user behind the decision to place an order. Required only if different from the user_id. (e.g. child account order placed by a guardian)

  - `data.cash_amount` (string, required)

  - `data.currency` (string, required)
    Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
* EUR - Euro
* GBP - Pound Sterling
    Enum: "EUR", "GBP"

  - `data.status` (string, required)
    Status of a Savings Plan Execution.
* NEW -
* PROCESSING -
* FILLED -
* SETTLED -
* CANCELLED -
    Enum: "NEW", "PROCESSING", "FILLED", "SETTLED", "CANCELLED"

  - `data.type` (string, required)
    The type of savings plan must be "INSTRUMENT".

  - `data.execution_date` (string, required)
    Date of a savings plan execution in YYYY-MM-DD format.

  - `data.instrument_id` (any)
    Instrument unique identifier.

  - `data.instrument_id_type` (string)
    The type of the ID used in the request.
* ISIN - International Securities Identification Number
* WKN - German securities identification code
    Enum: "ISIN", "WKN"

  - `data.fee_configuration` (array)
    Fee configuration for instrument-type savings plan executions. Specifies the transaction fee model to apply to each buy order placed on execution.

  - `data.fee_configuration.type` (string, required)
    Fee type
* TRANSACTION_FEE_BUY -
    Enum: "TRANSACTION_FEE_BUY"

  - `data.fee_configuration.transaction_fee_model_id` (string, required)
    Fee model unique identifier.

  - `data.cancellation_reason` (string)
    Explains the reason why the savings plan execution was cancelled .
* CANCELLED_BY_CLIENT: The savings plan execution was cancelled by the client.
* CANCELLED_BY_UPVEST: The savings plan execution was cancelled by Upvest.
    Enum: "CANCELLED_BY_CLIENT", "CANCELLED_BY_UPVEST"

  - `data.cancellation_details` (string)
    Human-readable description providing additional context about why the savings plan execution was cancelled.

  - `data.type` (string, required)
    The type of savings plan must be "PORTFOLIO".

## Response 400 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 401 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 403 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 404 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 405 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 406 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 429 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 500 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 503 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 504 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

