> ## Documentation Index
> Fetch the complete documentation index at: https://synthetiq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API reference

> Complete list of Platform API routes with required authentication and scopes

## Organizations

| Method   | Route                                                                                                                | Required Access                                                 |
| -------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `GET`    | [`/api/organizations`](/docs/platform-docs/platform-api/organizations#list-organizations)                                 | User authentication                                             |
| `GET`    | [`/api/organizations/{id}`](/docs/platform-docs/platform-api/organizations#get-organization)                              | Organization member                                             |
| `GET`    | [`/api/organizations/{id}/storage-config`](/docs/platform-docs/platform-api/organizations#get-storage-config)             | Organization member                                             |
| `POST`   | [`/api/organizations/{id}/storage-config`](/docs/platform-docs/platform-api/organizations#update-storage-config)          | Organization member + `org:settings`                            |
| `GET`    | [`/api/organizations/{id}/store`](/docs/platform-docs/platform-api/organizations#list-store-publications)                 | Organization member or public access                            |
| `POST`   | [`/api/organizations/{id}/store`](/docs/platform-docs/platform-api/organizations#publish-to-store)                        | Organization member + `entities:share_store` + entity publisher |
| `DELETE` | [`/api/organizations/{id}/store`](/docs/platform-docs/platform-api/organizations#remove-from-store)                       | Organization member + `entities:share_store` + entity publisher |
| `GET`    | [`/api/organizations/{id}/store/{publicationId}`](/docs/platform-docs/platform-api/organizations#get-publication-details) | Organization member or public access                            |
| `PATCH`  | [`/api/organizations/{id}/store/{publicationId}`](/docs/platform-docs/platform-api/organizations#update-publication)      | Organization member + `entities:share_store`                    |
| `DELETE` | [`/api/organizations/{id}/store/{publicationId}`](/docs/platform-docs/platform-api/organizations#delete-publication)      | Organization member + `entities:share_store`                    |
| `GET`    | [`/api/stores`](/docs/platform-docs/platform-api/organizations#list-public-stores)                                        | User authentication                                             |

## Members & Roles

| Method   | Route                                                                                                               | Required Access                                  |
| -------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `POST`   | [`/api/organizations/{id}/members`](/docs/platform-docs/platform-api/members-and-roles#add-member)                       | Organization member + `members:invite`           |
| `PUT`    | [`/api/organizations/{id}/members/{userId}/role`](/docs/platform-docs/platform-api/members-and-roles#update-member-role) | Organization member + `members:manage_roles`     |
| `DELETE` | [`/api/organizations/{id}/members/{userId}`](/docs/platform-docs/platform-api/members-and-roles#remove-member)           | Organization member + `members:remove` (or self) |
| `GET`    | [`/api/organizations/{id}/roles`](/docs/platform-docs/platform-api/members-and-roles#list-roles)                         | Organization member                              |
| `POST`   | [`/api/organizations/{id}/roles`](/docs/platform-docs/platform-api/members-and-roles#create-role)                        | Organization member + `members:manage_roles`     |
| `GET`    | [`/api/organizations/{id}/roles/{roleId}`](/docs/platform-docs/platform-api/members-and-roles#get-role)                  | Organization member + `members:manage_roles`     |
| `PATCH`  | [`/api/organizations/{id}/roles/{roleId}`](/docs/platform-docs/platform-api/members-and-roles#update-role)               | Organization member + `members:manage_roles`     |
| `DELETE` | [`/api/organizations/{id}/roles/{roleId}`](/docs/platform-docs/platform-api/members-and-roles#delete-role)               | Organization member + `members:manage_roles`     |
| `GET`    | [`/api/scopes`](/docs/platform-docs/platform-api/members-and-roles#list-assignable-scopes)                               | User authentication                              |
| `GET`    | [`/api/scopes/{id}`](/docs/platform-docs/platform-api/members-and-roles#get-scope)                                       | User authentication                              |
| `POST`   | [`/api/users/invite`](/docs/platform-docs/platform-api/members-and-roles#invite-user)                                    | Organization member + `members:invite`           |

## Service accounts & OIDC trusts

| Method   | Route                                                                                                                      | Required Access                              |
| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| `GET`    | [`/api/organizations/{id}/service-accounts`](/docs/platform-docs/platform-api/service-accounts#list-service-accounts)           | Organization member + `org:service-accounts` |
| `POST`   | [`/api/organizations/{id}/service-accounts`](/docs/platform-docs/platform-api/service-accounts#create-service-account)          | Organization member + `org:service-accounts` |
| `PATCH`  | [`/api/organizations/{id}/service-accounts/{userId}`](/docs/platform-docs/platform-api/service-accounts#update-service-account) | Organization member + `org:service-accounts` |
| `DELETE` | [`/api/organizations/{id}/service-accounts/{userId}`](/docs/platform-docs/platform-api/service-accounts#delete-service-account) | Organization member + `org:service-accounts` |
| `GET`    | [`/api/organizations/{id}/oidc-trusts`](/docs/platform-docs/platform-api/service-accounts#list-oidc-trusts)                     | Organization member + `org:trusts`           |
| `POST`   | [`/api/organizations/{id}/oidc-trusts`](/docs/platform-docs/platform-api/service-accounts#create-oidc-trust)                    | Organization member + `org:trusts`           |
| `PATCH`  | [`/api/organizations/{id}/oidc-trusts/{trustId}`](/docs/platform-docs/platform-api/service-accounts#update-oidc-trust)          | Organization member + `org:trusts`           |
| `DELETE` | [`/api/organizations/{id}/oidc-trusts/{trustId}`](/docs/platform-docs/platform-api/service-accounts#delete-oidc-trust)          | Organization member + `org:trusts`           |

## Entities

| Method   | Route                                                                                         | Required Access                          |
| -------- | --------------------------------------------------------------------------------------------- | ---------------------------------------- |
| `POST`   | [`/api/entities`](/docs/platform-docs/platform-api/entities#create-entity)                         | User authentication + `entities:publish` |
| `GET`    | [`/api/entities/{entityId}`](/docs/platform-docs/platform-api/entities#get-entity)                 | Entity access                            |
| `PUT`    | [`/api/entities/{entityId}`](/docs/platform-docs/platform-api/entities#update-entity)              | Entity access + publisher                |
| `DELETE` | [`/api/entities/{entityId}`](/docs/platform-docs/platform-api/entities#delete-entity)              | Entity access + publisher                |
| `GET`    | [`/api/entities/{entityId}/details`](/docs/platform-docs/platform-api/entities#get-entity-details) | Entity access                            |
| `POST`   | [`/api/entities/icon-upload-url`](/docs/platform-docs/platform-api/entities#icon-upload)           | User authentication + `entities:publish` |

## Versions

| Method   | Route                                                                                                             | Required Access           |
| -------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------- |
| `POST`   | [`/api/entities/{entityId}/versions/upload-url`](/docs/platform-docs/platform-api/versions#step-1-get-upload-url)      | Entity access + publisher |
| `POST`   | [`/api/entities/{entityId}/versions/confirm`](/docs/platform-docs/platform-api/versions#step-2-confirm-upload)         | Entity access + publisher |
| `GET`    | [`/api/entities/{entityId}/versions/{versionId}/download`](/docs/platform-docs/platform-api/versions#download-version) | Entity access             |
| `GET`    | [`/api/entities/{entityId}/active-version`](/docs/platform-docs/platform-api/versions#get-active-version)              | Entity access             |
| `PUT`    | [`/api/entities/{entityId}/active-version`](/docs/platform-docs/platform-api/versions#set-active-version)              | Entity access + publisher |
| `DELETE` | [`/api/entities/{entityId}/versions/{versionId}`](/docs/platform-docs/platform-api/versions#delete-version)            | Entity access + publisher |

`upload-url` and `confirm` enforce [push protection](/docs/platform-docs/platform-api/versions#push-protection): `base_version_id` must be the entity's current tip, otherwise the request fails with `409` and code `STALE_BASE`.

## Sharing

| Method   | Route                                                                                                  | Required Access                                                             |
| -------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- |
| `POST`   | [`/api/entities/{entityId}/shares`](/docs/platform-docs/platform-api/sharing#share-entity)                  | Entity access + `entities:share` (+ `entities:share_external` for external) |
| `GET`    | [`/api/entities/{entityId}/shares`](/docs/platform-docs/platform-api/sharing#list-shares-for-entity)        | Entity access                                                               |
| `DELETE` | [`/api/entities/{entityId}/shares/{shareId}`](/docs/platform-docs/platform-api/sharing#remove-share)        | Share creator                                                               |
| `GET`    | [`/api/entities/shared-with-me`](/docs/platform-docs/platform-api/sharing#list-entities-shared-with-me)     | User authentication                                                         |
| `GET`    | [`/api/entities/shares`](/docs/platform-docs/platform-api/sharing#list-entities-ive-shared)                 | User authentication                                                         |
| `GET`    | [`/api/entities/{entityId}/publishers`](/docs/platform-docs/platform-api/sharing#list-publishers)           | Entity access                                                               |
| `POST`   | [`/api/entities/{entityId}/publishers`](/docs/platform-docs/platform-api/sharing#add-publisher)             | Entity access + publisher                                                   |
| `GET`    | [`/api/entities/{entityId}/publishers/me`](/docs/platform-docs/platform-api/sharing#check-publisher-status) | User authentication                                                         |
| `DELETE` | [`/api/entities/{entityId}/publishers/{userId}`](/docs/platform-docs/platform-api/sharing#remove-publisher) | Entity access + publisher                                                   |

## PRD comments

| Method   | Route                                                                                                                           | Required Access |
| -------- | ------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| `GET`    | [`/api/entities/{entityId}/prd-comments`](/docs/platform-docs/platform-api/prd-comments#list-threads)                                | Entity access   |
| `POST`   | [`/api/entities/{entityId}/prd-comments`](/docs/platform-docs/platform-api/prd-comments#create-a-thread)                             | Entity access   |
| `PATCH`  | [`/api/entities/{entityId}/prd-comments/{threadId}`](/docs/platform-docs/platform-api/prd-comments#resolve-or-reopen-a-thread)       | Entity access   |
| `DELETE` | [`/api/entities/{entityId}/prd-comments/{threadId}`](/docs/platform-docs/platform-api/prd-comments#delete-a-thread)                  | Thread creator  |
| `POST`   | [`/api/entities/{entityId}/prd-comments/{threadId}/replies`](/docs/platform-docs/platform-api/prd-comments#add-a-reply)              | Entity access   |
| `DELETE` | [`/api/entities/{entityId}/prd-comments/{threadId}/replies/{replyId}`](/docs/platform-docs/platform-api/prd-comments#delete-a-reply) | Reply author    |

## Production Apps

| Method   | Route                                                                                            | Required Access                                            |
| -------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------- |
| `GET`    | [`/api/production-apps`](/docs/platform-docs/platform-api/production-apps#list-production-apps)       | User authentication                                        |
| `POST`   | [`/api/production-apps`](/docs/platform-docs/platform-api/production-apps#create-production-app)      | Organization member + `entities:deploy` + entity publisher |
| `GET`    | [`/api/production-apps/{id}`](/docs/platform-docs/platform-api/production-apps#get-production-app)    | User authentication                                        |
| `PATCH`  | [`/api/production-apps/{id}`](/docs/platform-docs/platform-api/production-apps#update-production-app) | Organization member + `entities:deploy` + entity publisher |
| `DELETE` | [`/api/production-apps/{id}`](/docs/platform-docs/platform-api/production-apps#delete-production-app) | Organization member + `entities:deploy` + entity publisher |
| `GET`    | [`/api/subdomains/check`](/docs/platform-docs/platform-api/production-apps#subdomain-availability)    | User authentication                                        |

## Deployments

| Method | Route                                                                                   | Required Access                                            |
| ------ | --------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `POST` | [`/api/deploy`](/docs/platform-docs/platform-api/deployments#trigger-deployment)             | Organization member + `entities:deploy` + entity publisher |
| `GET`  | [`/api/deploys`](/docs/platform-docs/platform-api/deployments#list-deployments)              | User authentication                                        |
| `GET`  | [`/api/deploys/{id}`](/docs/platform-docs/platform-api/deployments#get-deployment)           | User authentication                                        |
| `POST` | [`/api/deploys/{id}/cancel`](/docs/platform-docs/platform-api/deployments#cancel-deployment) | Organization member + `entities:deploy` + entity publisher |

## Deployment infrastructure (BYOI)

| Method | Route                                                                                                              | Required Access                         |
| ------ | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------- |
| `GET`  | [`/api/organizations/{id}/aws-config`](/docs/platform-docs/platform-api/aws-config#list-deployment-targets)             | Organization member                     |
| `PUT`  | [`/api/organizations/{id}/aws-config`](/docs/platform-docs/platform-api/aws-config#register-update-a-deployment-target) | Organization member + `infra:provision` |
