canonical: https://jentic.com/apis/amazonaws.com/finspace-public-api

# AWS FinSpace Public API

Jentic publishes the only available OpenAPI specification for the FinSpace Public API, keeping it validated and agent-ready. The FinSpace Public API manages financial datasets and data access inside an existing FinSpace environment. The API covers datasets, changesets, dataviews, users, and permission groups so that platform teams can load market data, version it across changesets, and grant scoped access to research desks. It is built for capital markets data engineering teams that need to operate the data plane of FinSpace through automation rather than the FinSpace UI.

## For AI agents

Manage datasets, changesets, dataviews, users, and permission groups inside FinSpace environments through a single data API.

## Scope

Does not provision FinSpace environments and does not run analytics queries against datasets - use for dataset, changeset, dataview, user, and permission group management only.

## Capabilities

- Create and version datasets with structured schemas and ownership metadata
- Load data through changesets that append, replace, or modify dataset contents
- Materialise dataviews that snapshot dataset contents for downstream queries
- Create and manage permission groups that scope dataset access for users
- Add and remove users from permission groups to control data access
- Generate programmatic credentials for users to access FinSpace resources
- List datasets, changesets, and dataviews with filtering for governance reporting

## Use cases

### Market Data Loading and Versioning

Capital markets data teams use the FinSpace Public API to land daily and intraday market data into versioned datasets. Each load is a changeset, so the dataset history is auditable and reproducible for backtests and regulatory queries. The API supports append, replace, and modify changeset modes for full and incremental loads.

Example prompt: Create a changeset on dataset eod-prices in change type APPEND, sourced from s3://market-data/eod/2026-06-09/.

### Dataview Materialisation for Research

Quant research teams use dataviews to materialise a stable snapshot of a dataset at a specific changeset, suitable for backtest reproducibility. The API creates and lists dataviews so notebooks and pipelines can pin to a known data state. Dataview creation is asynchronous; the API exposes status fields for polling.

Example prompt: Create a dataview on dataset eod-prices pinned to changeset id cs-456 with auto-update disabled.

### Permission Group Management

Platform governance teams use permission groups to grant scoped access to FinSpace datasets per desk or project. The API creates groups, adds and removes users, and lists membership so identity workflows can be automated and audited. This avoids manual permission edits inside the FinSpace console.

Example prompt: Create a permission group named rates-desk and add user with id u-789 to that group.

### Agent-Driven FinSpace Data Operations via Jentic

AI agents use the FinSpace Public API through Jentic to ingest data, materialise dataviews, and manage user access in response to upstream events. Jentic exposes FinSpace data operations as discoverable tools so an agent can search by intent and execute the matching call. This lets data agents handle routine load and access requests without operator intervention.

Example prompt: Search Jentic for create finspace changeset, load the CreateChangeset schema, and execute it for dataset trades-tick with source path s3://feeds/trades/2026-06-09.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /datasetsv2 | Create a FinSpace dataset |
| GET | /datasetsv2 | List datasets in the environment |
| POST | /datasets/{datasetId}/changesetsv2 | Create a changeset on a dataset |
| POST | /datasets/{datasetId}/dataviewsv2 | Create a dataview on a dataset |
| POST | /permission-group | Create a permission group |
| POST | /permission-group/{permissionGroupId}/users/{userId} | Add a user to a permission group |
| POST | /user | Create a FinSpace user |

## Key resources

- **Datasets** — Versioned containers for financial data with schema and ownership
- **Changesets** — Loads that append, replace, or modify a dataset
- **Dataviews** — Materialised snapshots of a dataset at a specific changeset
- **Users** — FinSpace users that consume datasets through permission groups
- **Permission Groups** — Scope dataset access for users by group membership

## Why Jentic

- **Setup:** Wiring the FinSpace public API by hand means building SigV4 request signing, resolving the regional finspace-api.{region}.amazonaws.com host, and handling AWS throttling and retries yourself. Through Jentic you install once, import the FinSpace public API from the API Directory, store the AWS access keys once, and your agent calls it.
- **Permission scoping:** The FinSpace public API puts the dataset id in the URL path (/datasets/{datasetId}/...), so a rule can pin your agent to one dataset: it can create changesets and dataviews for that dataset and nothing else. You choose the operations it may call, so permission group changes are not included unless you add them.
- **Credential handling:** Your AWS access keys for the FinSpace public API are stored once, encrypted, by your own Jentic One instance and injected at execution time when the request is signed. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'load market data into FinSpace' or 'create a dataview', and Jentic returns the matching FinSpace operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **FinSpace User Environment Management** — Provisions the FinSpace environments that this Public API operates inside
- **Amazon SageMaker** — Trains and deploys models on FinSpace dataviews
- **AWS Lambda** — Runs custom transformation logic before changeset loads

## FAQ

### Why is there no official OpenAPI spec for the FinSpace Public API?

AWS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the FinSpace Public API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the FinSpace Public API use?

FinSpace uses AWS Signature Version 4 request signing, with FinSpace user credentials issued by the GetProgrammaticAccessCredentials operation. Through Jentic, both AWS and FinSpace credentials are stored encrypted in the vault.

### Can I load data into a dataset with this API?

Yes. POST /datasets/{datasetId}/changesetsv2 creates a changeset that loads or modifies dataset contents. The change type field accepts APPEND, REPLACE, or MODIFY to control how the new data interacts with existing changesets.

### What are the rate limits for the FinSpace Public API?

AWS applies per-account, per-region throttling. Mutating calls such as CreateChangeset are throttled more aggressively than List and Get calls. Use exponential backoff on ThrottlingException responses; AWS does not publish exact TPS numbers in the spec.

### How do I add a user to a permission group through Jentic?

Search Jentic for add user to finspace permission group, load the schema for POST /permission-group/{permissionGroupId}/users/{userId}, and execute it with the group and user IDs. Jentic returns the membership status.

### Does this API create FinSpace environments?

No. Environment lifecycle is in the separate FinSpace User Environment Management service (finspace). This Public API operates within an existing environment.

### Can I limit what my agent is allowed to do with the FinSpace Public API?

Yes. Because you run Jentic One yourself, your own rules decide which FinSpace operations and credentials the agent may use. Since the FinSpace Public API carries the dataset id in the URL path (/datasets/{datasetId}/...), you can pin the agent to a single dataset so it only creates changesets and dataviews for that dataset. You choose the exact operations it may call, so permission-group changes such as POST /permission-group and adding users are excluded unless you explicitly grant them.
