# REST API

Call Nominal’s services over HTTPS, with your [API key](https://dev.nominal.io/quickstart/api-keys-setup.md). Request and response bodies are JSON unless an endpoint says otherwise.

You can also call many of the same services through the [gRPC API](https://dev.nominal.io/api/grpc.md). Several [client libraries](https://dev.nominal.io/platform/stack.md) allow access Nominal without going to the low-level API.

Paths are relative to your base URL, such as `https://api.gov.nominal.io/api`, which is on the same page as your API key. Every request needs your API key as a bearer token: `Authorization: Bearer <api key>`.

## Services

### Data

- [Compute service](https://dev.nominal.io/api/rest/compute-service.md)
- [Connection bootstrapper service](https://dev.nominal.io/api/rest/connection-bootstrapper-service.md)
- [Connection service](https://dev.nominal.io/api/rest/connection-service.md)
- [Containerized extractor service](https://dev.nominal.io/api/rest/containerized-extractor-service.md)
- [Data connector service](https://dev.nominal.io/api/rest/data-connector-service.md)
- [Data deletion service](https://dev.nominal.io/api/rest/data-deletion-service.md)
- [Data export service](https://dev.nominal.io/api/rest/data-export-service.md)
- [Dataset retention service](https://dev.nominal.io/api/rest/dataset-retention-service.md)
- [Direct Nominal channel writer](https://dev.nominal.io/api/rest/direct-nominal-channel-writer.md)
- [Ingest automation service](https://dev.nominal.io/api/rest/ingest-automation-service.md)
- [Ingest job service](https://dev.nominal.io/api/rest/ingest-job-service.md)
- [Ingest service](https://dev.nominal.io/api/rest/ingest-service.md)
- [Native extractor service](https://dev.nominal.io/api/rest/native-extractor-service.md)
- [Nominal channel writer](https://dev.nominal.io/api/rest/nominal-channel-writer.md)
- [Persistent compute service](https://dev.nominal.io/api/rest/persistent-compute-service.md)
- [Series cache service](https://dev.nominal.io/api/rest/series-cache-service.md)
- [SQL service](https://dev.nominal.io/api/rest/sql-service.md)
- [Streaming session service](https://dev.nominal.io/api/rest/streaming-session-service.md)
- [Units service](https://dev.nominal.io/api/rest/units-service.md)
- [Upload service](https://dev.nominal.io/api/rest/upload-service.md)

### Metadata

- [Asset service](https://dev.nominal.io/api/rest/asset-service.md)
- [Attachment service](https://dev.nominal.io/api/rest/attachment-service.md)
- [Blob storage service](https://dev.nominal.io/api/rest/blob-storage-service.md)
- [Catalog service](https://dev.nominal.io/api/rest/catalog-service.md)
- [Channel metadata service](https://dev.nominal.io/api/rest/channel-metadata-service.md)
- [Channel search service](https://dev.nominal.io/api/rest/channel-search-service.md)
- [Comments service](https://dev.nominal.io/api/rest/comments-service.md)
- [Data source service](https://dev.nominal.io/api/rest/data-source-service.md)
- [Dataset metadata service](https://dev.nominal.io/api/rest/dataset-metadata-service.md)
- [Event service](https://dev.nominal.io/api/rest/event-service.md)
- [Nominal data sources](https://dev.nominal.io/api/rest/nominal-data-sources.md)
- [Resource metadata service](https://dev.nominal.io/api/rest/resource-metadata-service.md)
- [Run service](https://dev.nominal.io/api/rest/run-service.md)
- [Series metadata service](https://dev.nominal.io/api/rest/series-metadata-service.md)
- [Spatial asset service](https://dev.nominal.io/api/rest/spatial-asset-service.md)
- [Tag search service](https://dev.nominal.io/api/rest/tag-search-service.md)
- [Video file service](https://dev.nominal.io/api/rest/video-file-service.md)
- [Video segment service](https://dev.nominal.io/api/rest/video-segment-service.md)
- [Video service](https://dev.nominal.io/api/rest/video-service.md)

### Checklists and procedures

- [Checklist execution service](https://dev.nominal.io/api/rest/checklist-execution-service.md)
- [Checklist service](https://dev.nominal.io/api/rest/checklist-service.md)
- [Data review service](https://dev.nominal.io/api/rest/data-review-service.md)
- [Procedure executions service](https://dev.nominal.io/api/rest/procedure-executions-service.md)
- [Procedures service](https://dev.nominal.io/api/rest/procedures-service.md)

### Workbooks

- [Favorites service](https://dev.nominal.io/api/rest/favorites-service.md)
- [Notebook service](https://dev.nominal.io/api/rest/notebook-service.md)
- [Saved view service](https://dev.nominal.io/api/rest/saved-view-service.md)
- [Template service](https://dev.nominal.io/api/rest/template-service.md)
- [Themes service](https://dev.nominal.io/api/rest/themes-service.md)

### Access and administration

- [Authentication service](https://dev.nominal.io/api/rest/authentication-service.md)
- [Authorization service](https://dev.nominal.io/api/rest/authorization-service.md)
- [Group service](https://dev.nominal.io/api/rest/group-service.md)
- [Marking service](https://dev.nominal.io/api/rest/marking-service.md)
- [Permission service](https://dev.nominal.io/api/rest/permission-service.md)
- [Role service](https://dev.nominal.io/api/rest/role-service.md)
- [Sandbox workspace service](https://dev.nominal.io/api/rest/sandbox-workspace-service.md)
- [Secrets service](https://dev.nominal.io/api/rest/secrets-service.md)
- [Workspace service](https://dev.nominal.io/api/rest/workspace-service.md)

### Apps and integrations

- [Application service](https://dev.nominal.io/api/rest/application-service.md)
- [Connect apps service](https://dev.nominal.io/api/rest/connect-apps-service.md)
- [Connect demo apps service](https://dev.nominal.io/api/rest/connect-demo-apps-service.md)
- [Connect download service](https://dev.nominal.io/api/rest/connect-download-service.md)
- [Integrations service](https://dev.nominal.io/api/rest/integrations-service.md)
- [Job service](https://dev.nominal.io/api/rest/job-service.md)
- [Registry service](https://dev.nominal.io/api/rest/registry-service.md)
- [Versioning service](https://dev.nominal.io/api/rest/versioning-service.md)
- [Webhook template service](https://dev.nominal.io/api/rest/webhook-template-service.md)

## Errors

A failed request gets an HTTP error status and a JSON body like this one:

```json
{
  "errorCode": "NOT_FOUND",
  "errorName": "NominalAuthenticationGroupsV1:GroupErrorsNotFound",
  "errorInstanceId": "<error instance id>",
  "parameters": {}
}
```

`errorName` says which error it is, and each service’s page lists the errors it defines. `errorCode` is its kind, such as `NOT_FOUND` or `INVALID_ARGUMENT`. A `429` or `503` response has only `parameters`.
