<span aria-hidden="true" id="api-endpoints"></span>

# API endpoints

We offer ready-to-use [SDKs](/docs/sdks.md) for most major programming languages and platforms and generally recommend using those. However, if there is no suitable SDK for your situation, or perhaps you are building one, we explain all the details of our bare bones REST API here.

Transloadit provides a JSON REST API that can be used for:

* Creating, checking up on, or deleting Assemblies
* Replaying Assembly Notifications
* Creating, updating, checking up on, or deleting Templates
* Checking up on Billing

Here’s a complete overview of the available endpoints:

<span aria-hidden="true" id="authentication"></span>

### Authentication

* [Create a bearer token](/docs/api/token-post.md)\
  POST`/token`

<span aria-hidden="true" id="assemblies"></span>

### Assemblies

* [Create a new Assembly](/docs/api/assemblies-post.md)\
  POST`/assemblies`
* [Retrieve an Assembly Status](/docs/api/assemblies-assembly-id-get.md)\
  GET`/assemblies/{ASSEMBLY_ID}`
* [Stream Assembly changes live](/docs/api/assemblies-assembly-id-stream-get.md)\
  GET`{UPDATE_STREAM_URL}`
* [Cancel a running Assembly](/docs/api/assemblies-assembly-id-delete.md)\
  DELETE`/assemblies/{ASSEMBLY_ID}`
* [Replay an Assembly](/docs/api/assemblies-assembly-id-replay-post.md)\
  POST`/assemblies/{ASSEMBLY_ID}/replay`
* [Retrieve list of Assemblies](/docs/api/assemblies-get.md)\
  GET`/assemblies?signature={SIGNATURE}&params={PARAMS}`

<span aria-hidden="true" id="webhooks"></span>

### Webhooks

* [Replay Assembly Notification](/docs/api/assembly-notifications-assembly-id-replay-post.md)\
  POST`/assembly_notifications/{ASSEMBLY_ID}/replay`

<span aria-hidden="true" id="billing"></span>

### Billing

* [Retrieve a month’s bill](/docs/api/bill-date-get.md)\
  GET`/bill/{DATE}?signature={SIGNATURE}`

<span aria-hidden="true" id="queues"></span>

### Queues

* [Retrieve currently used priority job slots](/docs/api/queues-job-slots-get.md)\
  GET`/queues/job_slots?signature={SIGNATURE}`

<span aria-hidden="true" id="template-credentials"></span>

### Template Credentials

* [Create a new Template Credential](/docs/api/template-credentials-post.md)\
  POST`/template_credentials`
* [Retrieve a Template Credential](/docs/api/template-credentials-credentials-id-get.md)\
  GET`/template_credentials/{CREDENTIALS_ID_OR_NAME}?signature={SIGNATURE}&params={PARAMS}`
* [Edit a Template Credential](/docs/api/template-credentials-credentials-id-put.md)\
  PUT`/template_credentials/{CREDENTIALS_ID_OR_NAME}?signature={SIGNATURE}`
* [Delete a Template Credential](/docs/api/template-credentials-credentials-id-delete.md)\
  DELETE`/template_credentials/{CREDENTIALS_ID_OR_NAME}`
* [Retrieve list of Template Credentials](/docs/api/template-credentials-get.md)\
  GET`/template_credentials?signature={SIGNATURE}&params={PARAMS}`

<span aria-hidden="true" id="templates"></span>

### Templates

* [Create a new Template](/docs/api/templates-post.md)\
  POST`/templates`
* [Retrieve a Template](/docs/api/templates-template-id-get.md)\
  GET`/templates/{TEMPLATE_ID}?signature={SIGNATURE}&params={PARAMS}`
* [Edit a Template](/docs/api/templates-template-id-put.md)\
  PUT`/templates/{TEMPLATE_ID}`
* [Delete a Template](/docs/api/templates-template-id-delete.md)\
  DELETE`/templates/{TEMPLATE_ID}`
* [Retrieve list of Templates](/docs/api/templates-get.md)\
  GET`/templates?signature={SIGNATURE}&params={PARAMS}`
