Altruist Positions API
The positions API from Altruist — 2 operation(s) for positions.
The positions API from Altruist — 2 operation(s) for positions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/altruist:altruist-positions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 0.0.2
title: Altruist Open Positions API
description: A RESTFul API for accessing information from the Altruist Platform. Intended for partners that integrate with the Altruist Platform to access information that is maintained on the platform
license:
name: MIT
servers:
- url: https://openapi.altruist.com/altruist-open-api/
security:
- Authorization:
- households:read
- accounts:read
- positions:read
- cost_basis:read
- transactions:read
tags:
- name: Positions
paths:
/api/v1/positions/{account_id}:
get:
summary: Get the most recent positions for a given account
description: Get the most recent positions for a given account Returns a list of the most recent positions within a given account
operationId: listPositions
tags:
- Positions
parameters:
- name: account_id
in: path
description: ID of the account
required: true
schema:
type: string
example: c87d1cd9511f5ab47d2eb9b55afb0bf6a23346e6af9b8b7e709a19389b93e989
- name: page
in: query
description: desired page number, defaults to 0
required: false
schema:
type: integer
format: int32
example: 1
- name: page_size
in: query
description: desired number of entries per page, defaults to 100, max value is 1000
required: false
schema:
type: integer
format: int32
example: 25
- name: X-API-Request-ID
in: header
description: household-provided request id
required: false
schema:
type: string
example: 2f047e95
responses:
'200':
description: A successful response for /positions request
content:
application/json:
schema:
type: object
properties:
paging:
$ref: '#/components/schemas/Pagination'
description: paging information for response
data:
$ref: '#/components/schemas/Positions'
description: a list of positions
examples:
first:
value:
paging:
page: 1
page_size: 25
total_pages: 3
data:
account_id: c87d1cd9511f5ab47d2eb9b55afb0bf6a23346e6af9b8b7e709a19389b93e989
positions:
- id: f5b46399dcd17b3a6e4f7142801a32742b3e56c3fa8216a4b518f0e78a91aac2
cusip: 46429B663
symbol: HDV
description: ISHARES CORE HIGH DIVIDEND ETF
long_short_indicator: long
currency_code: USD
quantity: 50
as_of_date: 2022/08/15
security_type: ETF
market_value: 5100
- id: 974833d6fe6da59bfd66d2ad8f2fe8fd21221e396a167449266b33f1ee1ee5b1
cusip: 46429B663
symbol: EFA
description: ISHARES MSCI EAFE ETF
long_short_indicator: long
currency_code: USD
quantity: 100
as_of_date: 2022/08/15
security_type: ETF
market_value: 7200
'400':
description: Bad request error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: bad_request
message: invalid or missing user id
'403':
description: Unauthorized error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: unauthorized
message: user is not authorized
'404':
description: Not found error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: resource_not_found
message: Account not found
'500':
description: Internal error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: internal_error
message: unable to connect to the data source
security:
- Authorization:
- positions:read
/v2/accounts/{account_id}/positions:
get:
summary: Get the most recent positions for a given account
description: Get the most recent positions for a given account Returns a list of the most recent positions within a given account
operationId: listPositionsV2
tags:
- Positions
parameters:
- name: account_id
in: path
description: ID of the account
required: true
schema:
type: string
example: c87d1cd9511f5ab47d2eb9b55afb0bf6a23346e6af9b8b7e709a19389b93e989
- name: page
in: query
description: desired page number, defaults to 0
required: false
schema:
type: integer
format: int32
example: 1
- name: page_size
in: query
description: desired number of entries per page, defaults to 100, max value is 1000
required: false
schema:
type: integer
format: int32
example: 25
responses:
'200':
description: A successful response for /positions request
content:
application/json:
schema:
type: object
properties:
paging:
$ref: '#/components/schemas/Pagination'
description: paging information for response
data:
$ref: '#/components/schemas/Positions'
description: a list of positions
examples:
first:
value:
paging:
page: 1
page_size: 25
total_pages: 3
data:
account_id: c87d1cd9511f5ab47d2eb9b55afb0bf6a23346e6af9b8b7e709a19389b93e989
positions:
- id: f5b46399dcd17b3a6e4f7142801a32742b3e56c3fa8216a4b518f0e78a91aac2
cusip: 46429B663
symbol: HDV
description: ISHARES CORE HIGH DIVIDEND ETF
long_short_indicator: long
currency_code: USD
quantity: 50
as_of_date: 2022/08/15
security_type: ETF
market_value: 5100
- id: 974833d6fe6da59bfd66d2ad8f2fe8fd21221e396a167449266b33f1ee1ee5b1
cusip: 46429B663
symbol: EFA
description: ISHARES MSCI EAFE ETF
long_short_indicator: long
currency_code: USD
quantity: 100
as_of_date: 2022/08/15
security_type: ETF
market_value: 7200
'400':
description: Bad request error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: bad_request
message: invalid or missing user id
'403':
description: Unauthorized error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: unauthorized
message: user is not authorized
'404':
description: Not found error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: resource_not_found
message: Account not found
'500':
description: Internal error response
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
first:
value:
error_type: internal_error
message: unable to connect to the data source
security:
- Authorization:
- positions:read
components:
schemas:
Pagination:
type: object
description: Description of a paginated response
properties:
page:
type: integer
format: int32
description: Desired page number, default is 0
default: 0
example: 1
page_size:
type: integer
format: int32
description: Page size, default is 100 items
default: 100
example: 25
total_pages:
type: integer
format: int32
description: Total number of pages
default: 1
example: 3
required:
- page
- page_size
- total_pages
Error:
type: object
required:
- error_type
- message
properties:
error_type:
type: string
description: Describes the type or source of error
enum:
- internal_error
- bad_request
- dependency_unavailable
- resource_not_found
- resource_already_exists
- unauthorized
example: unauthorized
message:
type: string
description: Error message corresponding to the error code
example: User is not authorized
Position:
type: object
description: A description of a Position
required:
- id
- cusip
- symbol
- currency_code
- quantity
- as_of_date
properties:
id:
type: string
example: 730f75dafd73e047b86acb2dbd74e75dcb93272fa084a9082848f2341aa1abb6
description: the id has length of 64 lower-case alphanumeric chars
cusip:
type: string
example: 46429B663
symbol:
type: string
example: HDV
description:
type: string
example: ISHARES CORE HIGH DIVIDEND ETF
security_type:
type: string
example: null
currency_code:
type: string
example: USD
quantity:
type: number
example: 50
market_value:
type: number
example: 5100
price:
type: number
example: 20
as_of_date:
type: string
example: 2021/03/11
Positions:
type: object
description: A description of positions within a given account
properties:
account_id:
type: string
description: Account Id
example: 20f2d5c4ef1a51e6d0a002518b1da224fe64f5a60d458dcbc5cb25231af3bed8
positions:
type: array
description: A list of Positions
items:
$ref: '#/components/schemas/Position'
securitySchemes:
Authorization:
type: http
scheme: bearer
description: Access Token
x-provenance:
method: searched
source: https://developer.altruist.com/reference
harvested: '2026-10-13'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://developer.altruist.com/reference/accountsv1.md
- https://developer.altruist.com/reference/accountsv2.md
- https://developer.altruist.com/reference/costbasisv1.md
- https://developer.altruist.com/reference/costbasisv2.md
- https://developer.altruist.com/reference/disabledatafeedbyid.md
- https://developer.altruist.com/reference/enabledatafeed.md
- https://developer.altruist.com/reference/getdatafeedbyid.md
- https://developer.altruist.com/reference/getdatafeeds.md
- https://developer.altruist.com/reference/householdsv1.md
- https://developer.altruist.com/reference/householdsv2.md
- https://developer.altruist.com/reference/positionsv1.md
- https://developer.altruist.com/reference/positionsv2.md
- https://developer.altruist.com/reference/requesthistoricaldatafile.md
- https://developer.altruist.com/reference/transactionsv2.md
merge:
pages: 14
deduped: 45
conflicts_kept_first: 0