Request contract

GET /api/v1/portfolios. List the exchange portfolios owned by the authenticated API account without returning encrypted provider credentials. Send the personal token in X-API-Key and keep it outside browser code and public logs.

Response and metering

The envelope returns account metadata and pagination state. A limit up to 50 costs one credit; 51–100 costs two. Successful metered responses publish X-Credit-Cost and X-Credits-Remaining so usage can be recorded without another request.

Production behavior

Portfolio IDs are opaque resources and every item operation is checked against the authenticated API account. Handle application/problem+json errors by stable code, preserve the correlation ID and never retry a mutation unless the workflow is idempotent.