# impartire API — Reference index

Every path is under `https://impartire.com/api/v1`. The machine-readable contract is https://impartire.com/api/v1/openapi.json (OpenAPI 3.1).

## [The contract](https://impartire.com/docs/reference-openapi-json.md)

- `GET /api/v1/openapi.json` — This document

## [Who is calling](https://impartire.com/docs/reference-me.md)

- `GET /api/v1/me` — Who is calling: the key, its org, its scopes and its request budget

## [Asset types](https://impartire.com/docs/reference-asset-types.md)

- `GET /api/v1/asset-types` — List the asset types the org can create assets of, with their field definitions and file slots

## [Projects](https://impartire.com/docs/reference-projects.md)

- `GET /api/v1/projects` — List the org's projects
- `POST /api/v1/projects` — Create a project, optionally typed and under a parent
- `GET /api/v1/projects/{id}` — Get one project
- `PATCH /api/v1/projects/{id}` — Rename, describe or retype a project
- `POST /api/v1/projects/{id}/access` — Give a member, team or role access to a project (guarded)
- `DELETE /api/v1/projects/{id}/access` — Take one access grant on a project away (guarded)
- `POST /api/v1/projects/{id}/deny` — Deny a member, team or role on a project (guarded)
- `DELETE /api/v1/projects/{id}/deny` — Lift a deny on a project (guarded)
- `POST /api/v1/projects/{id}/teams` — Assign a team to a production (guarded)
- `POST /api/v1/projects/{id}/move` — Move a project under another, or to the top level (guarded)
- `GET /api/v1/projects/{id}/tags` — List the tags on a project
- `POST /api/v1/projects/{id}/tags` — Add tags to a project
- `DELETE /api/v1/projects/{id}/tags/{tag_id}` — Remove a tag from a project

## [Uploads](https://impartire.com/docs/reference-uploads.md)

- `POST /api/v1/uploads` — Presign a single PUT, or start a multipart upload, for a file (step 1 of creating an asset with a file)
- `GET /api/v1/uploads/{id}` — Get an upload's status: pending, landed, consumed or expired
- `POST /api/v1/uploads/{id}/parts` — Sign upload URLs for parts of a multipart upload
- `POST /api/v1/uploads/{id}/complete` — Complete a multipart upload from its parts
- `POST /api/v1/uploads/{id}/abort` — Abort a multipart upload in progress

## [Assets](https://impartire.com/docs/reference-assets.md)

- `GET /api/v1/assets` — List and search the org's assets
- `POST /api/v1/assets` — Create an asset in a project, optionally from a landed upload
- `GET /api/v1/assets/{id}` — Get an asset with its current files and recent runs
- `PATCH /api/v1/assets/{id}` — Update an asset's name, fields, project or external_ref
- `DELETE /api/v1/assets/{id}` — Delete an asset (every version)
- `GET /api/v1/assets/{id}/referenced-by` — List the records that reference an asset
- `GET /api/v1/assets/{id}/lineage` — Get an asset's derivation lineage
- `GET /api/v1/assets/{id}/playback` — Get an asset's playback descriptor
- `GET /api/v1/assets/{id}/credits` — List the people credited on an asset
- `GET /api/v1/assets/{id}/categories` — List an asset's categories

## [Asset files](https://impartire.com/docs/reference-assets-files.md)

- `GET /api/v1/assets/{id}/files` — List an asset's current files with their technical metadata
- `POST /api/v1/assets/{id}/files` — Attach an uploaded file to an asset, or replace one of its files with a new version
- `GET /api/v1/assets/{id}/files/{file_id}` — Get one file of an asset, any version, with its version chain
- `POST /api/v1/assets/{id}/files/{file_id}/restore` — Make an earlier version of a file current again
- `GET /api/v1/assets/{id}/files/{file_id}/download` — Get a short-lived URL for one of an asset's files, any version

## [Asset comments and markers](https://impartire.com/docs/reference-assets-review.md)

- `GET /api/v1/assets/{id}/comments` — List an asset's review comments
- `POST /api/v1/assets/{id}/comments` — Comment on an asset, or reply to a comment
- `PATCH /api/v1/assets/{id}/comments/{comment_id}` — Resolve or reopen a comment, or change its text
- `DELETE /api/v1/assets/{id}/comments/{comment_id}` — Delete a comment
- `GET /api/v1/assets/{id}/markers` — List an asset's clip markers
- `POST /api/v1/assets/{id}/markers` — Mark a time range on an asset
- `DELETE /api/v1/assets/{id}/markers/{marker_id}` — Delete a clip marker

## [Asset share links](https://impartire.com/docs/reference-assets-share-links.md)

- `GET /api/v1/assets/{id}/share-links` — List an asset's public share links
- `POST /api/v1/assets/{id}/share-links` — Make a public share link to an asset (guarded)
- `DELETE /api/v1/assets/{id}/share-links/{link_id}` — Revoke a public share link (guarded)

## [Asset tags](https://impartire.com/docs/reference-assets-tags.md)

- `GET /api/v1/assets/{id}/tags` — List the tags on an asset
- `POST /api/v1/assets/{id}/tags` — Add tags to an asset
- `DELETE /api/v1/assets/{id}/tags/{tag_id}` — Remove a tag from an asset

## [Workflows](https://impartire.com/docs/reference-workflows.md)

- `GET /api/v1/workflows` — List the workflow templates a run can be started from
- `GET /api/v1/workflows/{id}` — Get one workflow template

## [Runs](https://impartire.com/docs/reference-runs.md)

- `GET /api/v1/runs` — List workflow runs, most recently changed first
- `POST /api/v1/runs` — Start a workflow run on an asset
- `GET /api/v1/runs/{id}` — Get one workflow run: its status, current step and steps
- `POST /api/v1/runs/{id}/signals` — Approve, reject, complete or skip a run's step, or cancel the run (guarded)

## [Tags](https://impartire.com/docs/reference-tags.md)

- `GET /api/v1/tags` — List the org's tags

## [Collections](https://impartire.com/docs/reference-collections.md)

- `GET /api/v1/collections` — List the org's collections
- `POST /api/v1/collections` — Create a collection, filed in a project and optionally nested in another
- `GET /api/v1/collections/{id}` — Get one collection
- `PATCH /api/v1/collections/{id}` — Rename or describe a collection, or change its constraints
- `DELETE /api/v1/collections/{id}` — Delete a collection
- `GET /api/v1/collections/{id}/children` — List the collections nested in a collection
- `GET /api/v1/collections/{id}/items` — List a collection's items in order
- `POST /api/v1/collections/{id}/items` — Add an asset to a collection
- `DELETE /api/v1/collections/{id}/items/{item_id}` — Remove an item from a collection
- `PUT /api/v1/collections/{id}/items/order` — Put a collection's items in a new order

## [Playlists](https://impartire.com/docs/reference-playlists.md)

- `GET /api/v1/playlists` — List a project's playlists
- `POST /api/v1/playlists` — Create a playlist in a project
- `GET /api/v1/playlists/{id}` — Get one playlist
- `PATCH /api/v1/playlists/{id}` — Rename or describe a playlist, or change its target count
- `DELETE /api/v1/playlists/{id}` — Delete a playlist
- `GET /api/v1/playlists/{id}/items` — List a playlist's items in order
- `POST /api/v1/playlists/{id}/items` — Append an asset to a playlist
- `DELETE /api/v1/playlists/{id}/items/{item_id}` — Remove an item from a playlist
- `PUT /api/v1/playlists/{id}/items/order` — Put a playlist's items in a new order

## [Record types](https://impartire.com/docs/reference-record-types.md)

- `GET /api/v1/record-types` — List the org's record types and their fields

## [Records](https://impartire.com/docs/reference-records.md)

- `GET /api/v1/records` — List one record type's records
- `POST /api/v1/records` — Create a record
- `GET /api/v1/records/{id}` — Get one record
- `PATCH /api/v1/records/{id}` — Retitle a record or replace its fields
- `DELETE /api/v1/records/{id}` — Delete a record

## [People and credits](https://impartire.com/docs/reference-people.md)

- `GET /api/v1/people` — List the org's people
- `GET /api/v1/people/{id}` — Get a person
- `GET /api/v1/people/{id}/credits` — List a person's credits

## [Categories](https://impartire.com/docs/reference-categories.md)

- `GET /api/v1/categories` — List the org's asset categories

## [Audit log](https://impartire.com/docs/reference-audit-log.md)

- `GET /api/v1/audit-log` — List the org's audit trail
- `GET /api/v1/audit-log/{id}` — Get one audit entry

## [Delivery requirements and readiness](https://impartire.com/docs/reference-delivery-requirements.md)

- `GET /api/v1/delivery-requirements` — List the org's delivery requirements
- `GET /api/v1/delivery-requirements/{id}` — Get one delivery requirement
- `GET /api/v1/delivery-requirements/{id}/readiness` — Read a requirement's readiness
- `GET /api/v1/delivery-requirements/{id}/receipts` — List a requirement's receipts
- `POST /api/v1/delivery-requirements/{id}/deliver` — Deliver an asset against a requirement (guarded)

## [Delivery receipts](https://impartire.com/docs/reference-delivery-receipts.md)

- `GET /api/v1/delivery-receipts` — List the org's delivery receipts
- `GET /api/v1/delivery-receipts/{id}` — Get one delivery receipt
- `POST /api/v1/delivery-receipts/{id}/reject` — Reject a delivery made to the org (guarded)

## [Inbound deliveries](https://impartire.com/docs/reference-inbound-deliveries.md)

- `GET /api/v1/inbound-deliveries` — List deliveries made to the org

## [Spec profiles](https://impartire.com/docs/reference-spec-profiles.md)

- `GET /api/v1/spec-profiles` — List the spec profiles the org may read
- `GET /api/v1/spec-profiles/{id}` — Get one spec profile

## [Delivery targets](https://impartire.com/docs/reference-delivery-targets.md)

- `GET /api/v1/delivery-targets` — List the org's delivery targets

## [EPG services](https://impartire.com/docs/reference-services.md)

- `GET /api/v1/services` — List the org's broadcast services
- `GET /api/v1/services/{id}` — Get one broadcast service

## [EPG schedules](https://impartire.com/docs/reference-schedules.md)

- `GET /api/v1/schedules` — List a service's schedule in a window
- `POST /api/v1/schedules` — Put a programme on a service's schedule (guarded)
- `GET /api/v1/schedules/{id}` — Get one schedule slot
- `PATCH /api/v1/schedules/{id}` — Move or change a schedule slot (guarded)
- `DELETE /api/v1/schedules/{id}` — Remove a schedule slot (guarded)

## [Transmission log](https://impartire.com/docs/reference-transmission-log.md)

- `GET /api/v1/transmission-log` — Read a service's planned transmission log

## [EPG formats](https://impartire.com/docs/reference-formats.md)

- `GET /api/v1/formats` — List the org's broadcast formats
- `GET /api/v1/formats/{id}` — Get one broadcast format

## [Analytics](https://impartire.com/docs/reference-analytics.md)

- `GET /api/v1/analytics/summary` — Read consumption analytics over a range
- `GET /api/v1/analytics/operations` — Read operations analytics over a range
- `GET /api/v1/analytics/search` — Read search analytics over a range

## [Members](https://impartire.com/docs/reference-members.md)

- `GET /api/v1/members` — List the org's members

## [Playout channels](https://impartire.com/docs/reference-channels.md)

- `GET /api/v1/channels` — List the org's playout channels
- `GET /api/v1/channels/{id}` — Get one playout channel
- `POST /api/v1/channels/{id}/start` — Start a playout channel (guarded)
- `POST /api/v1/channels/{id}/stop` — Stop a playout channel (guarded)

## [Confirmations](https://impartire.com/docs/reference-confirmations.md)

- `GET /api/v1/confirmations/{id}` — Read a guarded action's confirmation
