Manage, test and connect public and private endpoints. Run APIs without code. Learn more
- Store API requests, including the url, headers, query, and body values.
- Store credentials and payloads in storage for templating during workflow runtime.
- Supports queueing, scheduling, and returning results immediately.
- Configure custom API workflows to pass information between requests.
- Trigger workflows from the Dashboard, REST API and NPM Library.
- Accept incoming workflow payloads.
- Send a webhook after workflow completion.
- View upcoming workflow schedule and past workflow instances.
- Cancel upcoming and scheduled workflows before they run.
- Return workflow results in JSON or set-and-forget requests (with webhooks).
- Generate API tokens to access workflows and services from any application.
- Invite users to collaborate on projects.
- Define team member permissions.
- Lock shared API resources.
- Redact sensitive request data.
- Works seamlessly with Postman.
Using npm:
$ npm install request-workboxRequest Workbox was created to provide tooling for REST APIs, such as managing parameters, permission based responses, team access, and options for running and monitoring multiple requests and workflows concurrently (with queuing and scheduling).
You can chain requests into workflows, and configure the options for each request using storage data, incoming payloads or response data from an any other request in the workflow. The system is optimized for text and JSON data, which allows users with any backend configuration (or Postman) to integrate seamlessly.
Trigger workflows and receive results immediately, or send the results to a different endpoint on completion or error. All features are available from the browser dashboard, REST API and NPM Library.
There are no monthly subscriptions. No monthly fees. Creating an account is free and payments are pay as you go. Every project includes 5 requests per minute and 1GB of data transfer free.
| Type | Description | Price | Per | 
|---|---|---|---|
| Free project | 5 requests/min | Free | project | 
| Standard upgrade | 15 requests/min | $10 | project | 
| Developer upgrade | 50 requests/min | $25 | project | 
| Professional upgrade | 250 requests/min | $50 | project | 
| Data transfer | 1 GB | $3 | project | 
Product Hunt promo: free standard upgrade. Use promo code PRODUCTHUNT.
If you work with APIs, or are a UI/UX nerd, or have any similar interest in the product, I would love to get your feedback. Reach out to support and I’ll send you a data transfer credit to get you started.
Let me know if you have any questions or issues, I’d be delighted to help. I take your privacy seriously, and can export or delete all of your data at any point in time. You can reach me at [email protected]. Sign up today.
Accepts an API Key and project id. Subsequent requests are tied to the same project. Responses are permission based. Do not share your API keys with team members or anyone else. Members can access your project (after accepting your invitation) with their own API keys. You can invite a user to your project within the dashboard.
const requestWorkbox = require('request-workbox')
const RequestWorkbox = requestWorkbox({
    apiKey: '4DDFE1ADF0064EA88B4D7111D8E2FC55',
    projectId: '5fc455ce1924bd02bf49d28f',
})
const requestResults = await RequestWorkbox.Request.startRequest({
    requestId: '5fc726bd1684be02dc49e48d',
    workflowType: 'return',
})
const { queueId, instanceId } = await RequestWorkbox.Request.startRequest({
    requestId: '5fc726bd1684be02dc49e48d',
    workflowType: 'queue', // queue, schedule
})
const workflowResults = await RequestWorkbox.Workflow.startWorkflow({
    workflowId: '5fc726bd9834be02d99ee48d',
    workflowType: 'return',
})
const { queueId, instanceId } = await RequestWorkbox.Workflow.startWorkflow({
    workflowId: '5fc726bd9834be02d99ee48d',
    workflowType: 'queue', // queue, schedule
})
Queue and Schedule workflows return a queue id and instance id (after initialization). The results are sent to the first request listed in Workflow.webhooks. Error responses break the workflow chain, but still trigger a webhook containing the successful request results.
Creates and returns a new project.
// POST https://api.requestworkbox.com/create-project
const project = await RequestWorkbox.Project.createProject()
List projects you own.
// POST https://api.requestworkbox.com/list-projects
const projects = await RequestWorkbox.Project.listProjects()
List projects you are a member of.
// POST https://api.requestworkbox.com/list-team-projects
const teamProjects = await RequestWorkbox.Project.listTeamProjects()
Returns an existing project. Requires read permission.
// POST https://api.requestworkbox.com/get-project
const project = await RequestWorkbox.Project.getProject({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
Update project name and permissions. Owner only access. Returns updated project.
// POST https://api.requestworkbox.com/update-project
const project = await RequestWorkbox.Project.updateProject({
  _id: '5fc455ce1924bd02bf49d28f',
  name: 'Email Endpoints',
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Project id. | 
| name | Optional | Project name. | 
| returnRequest | Optional | Return request permission. | 
| queueRequest | Optional | Queue request permission. | 
| scheduleRequest | Optional | Schedule request permission. | 
| returnWorkflow | Optional | Return workflow permisssion. | 
| queueWorkflow | Optional | Queue workflow permission. | 
| scheduleWorkflow | Optional | Schedule workflow permission. | 
Archives a project. Owner only access. Returns updated project.
// POST https://api.requestworkbox.com/archive-project
const project = await RequestWorkbox.Project.archiveProject({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
Restores a project. Owner only access. Returns updated project.
// POST https://api.requestworkbox.com/restore-project
const project = await RequestWorkbox.Project.restoreProject({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
Creates and returns a new request. Requires write permission.
// POST https://api.requestworkbox.com/create-request
const request = await RequestWorkbox.Request.createRequest({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
List requests for a given project. Requires read permission.
// POST https://api.requestworkbox.com/list-request
const requests = await RequestWorkbox.Request.listRequests({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
Returns an existing request. Requires read permission.
// POST https://api.requestworkbox.com/get-request
const request = await RequestWorkbox.Request.getRequest({
  requestId: '5fc726bd1684be02dc49e48d',
})
| Option | Required | Description | 
|---|---|---|
| requestId | Yes | Request id. | 
| projectId | Optional | Project id. | 
Saves request changes. Requires write permission. Returns updated request.
// POST https://api.requestworkbox.com/save-request-changes
const request = await RequestWorkbox.Request.saveRequestChanges({
  _id: '5fc726bd1684be02dc49e48d',
  name: 'Send customer email',
  url: 'https://domain.com/send-customer-email',
  method: 'POST',
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Request id. | 
| name | Optional | Request name. | 
| url | Optional | HTTPS URL. | 
| method | Optional | HTTP request method. | 
| authorizationType | Optional | Authorization type. | 
| authorization | Optional | Request authorization. | 
| query | Optional | Request query. | 
| headers | Optional | Request headers. | 
| query | Optional | Request query. | 
| body | Optional | Request body. | 
| lockedResource | Optional | Locked resource option. | 
| preventExecution | Optional | Prevent execution option. | 
| sensitiveResponse | Optional | Senstive response option. | 
Pushes an option to the request header, query, or body. Requires write permission. Returns updated request.
// POST https://api.requestworkbox.com/add-request-detail-item
const request = await RequestWorkbox.Request.addRequestDetailItem({
  _id: '5fc726bd1684be02dc49e48d',
  requestDetailOption: 'headers'
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Request id. | 
| requestDetailOption | Yes | Request detail option. | 
Removes an option from the request header, query, or body. Requires write permission. Returns updated request.
// POST https://api.requestworkbox.com/delete-request-detail-item
const request = await RequestWorkbox.Request.deleteRequestDetailItem({
  _id: '5fc726bd1684be02dc49e48d',
  requestDetailOption: 'query'
  requestDetailItemId: '5fc726iu36849db2dc4ed38d'
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Request id. | 
| requestDetailOption | Yes | Request detail option. | 
| requestDetailItemId | Yes | Existing request detail item id. | 
Archive request. Owner only access. Returns updated request.
// POST https://api.requestworkbox.com/archive-request
const request = await RequestWorkbox.Request.archiveRequest({
  requestId: '5fc726bd1684be02dc49e48d',
})
| Option | Required | Description | 
|---|---|---|
| requestId | Yes | Request id. | 
Restore request. Owner only access. Returns updated request.
// POST https://api.requestworkbox.com/restore-request
const request = await RequestWorkbox.Request.restoreRequest({
  requestId: '5fc726bd1684be02dc49e48d',
})
| Option | Required | Description | 
|---|---|---|
| requestId | Yes | Request id. | 
Trigger a dedicated request workflow. Permission based access. Returns workflow results.
// POST https://api.requestworkbox.com/restore-request
const request = await RequestWorkbox.Request.restoreRequest({
  requestId: '5fc726bd1684be02dc49e48d',
})
| Option | Required | Description | 
|---|---|---|
| requestId | Yes | Request id. | 
Creates and returns a new workflow. Requires write permission.
// POST https://api.requestworkbox.com/create-workflow
const workflow = await RequestWorkbox.Workflow.createWorkflow({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
List workflows for a given project. Requires read permission.
// POST https://api.requestworkbox.com/list-workflows
const workflows = await RequestWorkbox.Workflow.listWorkflows({
  projectId: '5fc455ce1924bd02bf49d28f', // defaults to initialized value
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
Returns an existing workflow. Requires read permission.
// POST https://api.requestworkbox.com/get-workflow
const workflow = await RequestWorkbox.Workflow.getWorkflow({
  workflowId: '5fc726bd9834be02d99ee48d',
})
| Option | Required | Description | 
|---|---|---|
| workflowId | Yes | Workflow id. | 
| projectId | Optional | Project id. | 
Saves workflow changes. Requires write permission. Returns updated workflow.
// POST https://api.requestworkbox.com/save-workflow-changes
const workflow = await RequestWorkbox.Workflow.saveWorkflowChanges({
  _id: '5fc726bd9834be02d99ee48d', // workflowId
  name: 'Daily email workflow',
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Workflow id. | 
| name | Optional | Workflow task array. | 
| payloads | Optional | Workflow task array. | 
| tasks | Optional | Workflow task array. | 
| webhooks | Optional | Workflow task array. | 
| lockedResource | Optional | Prevent changes. | 
| preventExecution | Optional | Prevent execution. | 
Adds a task to the workflow chain at Workflow.tasks. Requires write permission. Returns updated workflow.
// POST https://api.requestworkbox.com/add-workflow-task
const workflow = await RequestWorkbox.Workflow.addWorkflowTask({
  _id: '5fc726bd9834be02d99ee48d',
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Workflow id. | 
Delete request (task) from the workflow chain. Requires write permission. Returns updated workflow.
// POST https://api.requestworkbox.com/delete-workflow-task
const workflow = await RequestWorkbox.Workflow.deleteWorkflowTask({
  _id: '5fc726bd9834be02d99ee48d',
  taskId: '5fc726bd4534eb02d99ff48d',
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Workflow id. | 
| taskId | Yes | Workflow task id. | 
Archive workflow. Owner only access. Returns updated workflow.
// POST https://api.requestworkbox.com/archive-workflow
const workflow = await RequestWorkbox.Workflow.archiveWorkflow({
  workflowId: '5fc726bd9834be02d99ee48d',
})
| Option | Required | Description | 
|---|---|---|
| workflowId | Yes | Workflow id. | 
Restore workflow. Owner only access. Returns updated workflow.
// POST https://api.requestworkbox.com/restore-workflow
const workflow = await RequestWorkbox.Workflow.restoreWorkflow({
  workflowId: '5fc726bd9834be02d99ee48d',
})
| Option | Required | Description | 
|---|---|---|
| workflowId | Yes | Workflow id. | 
Creates and returns a new storage. Requires write permission.
// POST https://api.requestworkbox.com/create-storage
const storage = await RequestWorkbox.Storage.createStorage({
  projectId: '5fc455ce1924bd02bf49d28f',
  storageType: 'text',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
| storageType | Yes | Storage type. | 
List storages for a given project. Requires read permission.
// POST https://api.requestworkbox.com/list-storages
const storages = await RequestWorkbox.Storage.listStorages({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Workflow id. | 
Returns an existing storage. Requires read permission.
// POST https://api.requestworkbox.com/get-storage
const storage = await RequestWorkbox.Storage.getStorage({
  storageId: '5fc726bd873fe02d99dd18f',
})
| Option | Required | Description | 
|---|---|---|
| storageId | Yes | Storage id. | 
| projectId | Optional | Project id. | 
Saves storage changes. Requires write permission. Returns updated storage.
// POST https://api.requestworkbox.com/save-storage-changes
const storage = await RequestWorkbox.Storage.saveStorageChanges({
  _id: '5fc726bd873fe02d99dd18f',
  name: 'Mailchimp API Key',
})
| Option | Required | Description | 
|---|---|---|
| _id | Yes | Storage id. | 
| name | Optional | Storage name. | 
| lockedResource | Optional | Prevent changes. | 
| preventExecution | Optional | Prevent execution. | 
| sensitiveResponse | Optional | Redacts public response. | 
Archive storage. Owner only access. Returns updated storage.
// POST https://api.requestworkbox.com/archive-storage
const storage = await RequestWorkbox.Storage.archiveStorage({
  storageId: '5fc726bd873fe02d99dd18f',
})
| Option | Required | Description | 
|---|---|---|
| storageId | Yes | Storage id. | 
Restore storage. Owner only access. Returns updated storage.
// POST https://api.requestworkbox.com/restore-storage
const storage = await RequestWorkbox.Storage.restoreStorage({
  storageId: '5fc726bd873fe02d99dd18f',
})
| Option | Required | Description | 
|---|---|---|
| storageId | Yes | Storage id. | 
Retreive storage value. Requires write permissions, or read permissions if data returns sensitive response and user has includeSensitive permission. Returns storage and storage value.
// POST https://api.requestworkbox.com/get-text-storage-data
const storage = await RequestWorkbox.Storage.getTextStorageData({
  storageId: '5fc726bd873fe02d99dd18f',
})
| Option | Required | Description | 
|---|---|---|
| storageId | Yes | Storage id. | 
| projectId | Optional | Project id. | 
Returns storage and usage. Requires read permissions.
// POST https://api.requestworkbox.com/get-storage-usage
const storage = await RequestWorkbox.Storage.getStorageUsage({
  storageId: '5fc726bd873fe02d99dd18f',
})
| Option | Required | Description | 
|---|---|---|
| storageId | Yes | Storage id. | 
| projectId | Optional | Project id. | 
Update text storage value. Requires write permission. Returns updated storage and value.
// POST https://api.requestworkbox.com/update-text-storage-data
const storage = await RequestWorkbox.Storage.updateTextStorageData({
  storageId: '5fc726bd873fe02d99dd18f',
  storageValue: 'AEF032-AF7631-S520495E',
})
| Option | Required | Description | 
|---|---|---|
| storageId | Yes | Storage id. | 
| storageValue | Yes | Storage value. 1MB max. | 
| projectId | Optional | Project id. | 
List queues for a given workflow from start to end of day (in UTC). Requires read permission.
// POST https://api.requestworkbox.com/list-queues
const queues = await RequestWorkbox.Queue.listQueues({
  workflowId: '5fc726bd9834be02d99ee48d',
})
| Option | Required | Description | 
|---|---|---|
| workflowId | Yes | Workflow id. | 
| date | Optional | ISO 8601 date. | 
Archive queue. Owner only access. Returns updated queue.
// POST https://api.requestworkbox.com/archive-queue
const queue = await RequestWorkbox.Queue.archiveQueue({
  queueId: '5fc72e6d3884be02e11fd48d',
})
| Option | Required | Description | 
|---|---|---|
| queueId | Yes | Queue id. | 
Archive all queues for a given workflow and queue type. Only includes queues from start to end of day (in UTC). Owner only access. Returns updated queues.
// POST https://api.requestworkbox.com/archive-all-queues
const queues = await RequestWorkbox.Queue.archiveAllQueues({
  workflowId: '5fc726bd9834be02d99ee48d',
})
| Option | Required | Description | 
|---|---|---|
| workflowId | Yes | Workflow id. | 
| date | Optional | ISO 8601 date. | 
| queueType | Optional | Queue type. | 
List instances for a given project. Requires read permission.
// POST https://api.requestworkbox.com/list-instances
const instances = await RequestWorkbox.Instance.listInstances({
  projectId: '5fc455ce1924bd02bf49d28f',
})
| Option | Required | Description | 
|---|---|---|
| projectId | Yes | Project id. | 
Returns an existing instance. Requires read permission.
// POST https://api.requestworkbox.com/get-instance
const instance = await RequestWorkbox.Instance.getInstance({
  instanceId: '5fc146db473fee8d98bd1de',
})
| Option | Required | Description | 
|---|---|---|
| instanceId | Yes | Instance id. | 
| projectId | Optional | Project id. | 
Returns instance stat details. Requires write permission. Returns instance with usage.
// POST https://api.requestworkbox.com/get-instance-detail
const instanceDetail = await RequestWorkbox.Instance.getInstanceDetail({
  instanceId: '5fc146db473fee8d98bd1de',
})
| Option | Required | Description | 
|---|---|---|
| instanceId | Yes | Instance id. | 
| projectId | Optional | Project id. | 
Returns instance details (results without sensitive data). Requires write permission or read permission with includeSensitive permission.
// POST https://api.requestworkbox.com/get-instance-detail
const instanceDetail = await RequestWorkbox.Instance.getInstanceDetail({
  instanceId: '5fc146db473fee8d98bd1de',
})
| Option | Required | Description | 
|---|---|---|
| instanceId | Yes | Instance id. | 
| projectId | Optional | Project id. | 
Returns instance usage. Requires write permission..
// POST https://api.requestworkbox.com/get-instance-detail
const instanceDetail = await RequestWorkbox.Instance.getInstanceUsage({
  instanceId: '5fc146db473fee8d98bd1de',
})
| Option | Required | Description | 
|---|---|---|
| instanceId | Yes | Instance id. | 
| projectId | Optional | Project id. | 
Returns entire instance stat (including response data). Requires write permission, or read permission with includeSensitive permission if the stat returns a sensitive response.
// POST https://api.requestworkbox.com/download-instance-stat
const instanceStat = await RequestWorkbox.Instance.downloadInstanceStat({
  instanceId: '5fc146db473fee8d98bd1de',
  statId: '5fe146eeb73fee928ded3ee',
})
| Option | Required | Description | 
|---|---|---|
| instanceId | Yes | Instance id. | 
| statId | Yes | Stat id. | 
| projectId | Optional | Project id. | 
{
  _id, // projectId
  active: true,
  name: 'Untitled Project', // String
  projectType: 'free', // free, standard, developer, professional
  globalWorkflowStatus: 'running', // running, stopped, locked
  returnRequest: 'owner', // owner, team, public
  returnWorkflow: 'owner', // owner, team, public
  queueRequest: 'owner', // owner, team, public
  queueWorkflow: 'owner', // owner, team, public
  scheduleRequest: 'owner', // owner, team, public
  scheduleWorkflow: 'owner', // owner, team, public
  workflowCount: 0,
  workflowLast: new Date(),
  usage: 0,
  usageRemaining: 1000,
  usageTotal: 1000, // MB
}
{
  _id, // requestId
  active: true,
  name: 'Sample Request', // String
  projectId: '5fc455ce1924bd02bf49d28f',
  method: 'GET', // GET, POST
  url: 'https://api.requestworkbox.com', // String
  authorizationType: 'noAuth', // noAuth, basicAuth
  authorization: [], // Request detail item schema
  headers: [], // Request detail item schema
  query: [], // Request detail item schema
  body: [], // Request detail item schema
  lockedResource: false, // Boolean
  preventExecution: false, // Boolean
  sensitiveResponse: false, // Boolean
}
// headers, query, body
{
  _id, // requestDetailItemId
  active: true, // Boolean
  key: '', // String
  value: '', // String - text value, storageId, runtimeResultName, incoming payload field
  valueType: 'textInput', // textInput, storage, runtimeResult, incomingPayload
}
{
  _id, // workflowId
  active: true,
  name: 'Untitled Workflow', // String
  projectId: '5fc455ce1924bd02bf49d28f',
  workflowType: 'workflow', // request, workflow
  payloads: [], // Workflow task schema
  tasks: [], // Workflow task schema
  webhooks: [], // Workflow task schema
  lockedResource: false, // Boolean
  preventExecution: false, // Boolean
}
// payloads, tasks, webhooks
{
  _id, // taskId 
  active: true, // Boolean
  requestId: '5fc726bd1684be02dc49e48d', - webhooks only
  runtimeResultName: '', // String - tasks only
}
{
  _id, // storageId
  active: true,
  name: 'Untitled Storage', // String
  projectId: '5fc455ce1924bd02bf49d28f',
  storageType: 'text', // text, file
  storageValue: {}, // text or JSON data
  mimetype: '',
  originalname: '',
  size: 0,
  totalBytesDown: 0,
  totalBytesUp: 0,
  totalMs: 0,
  lockedResource: false, // Boolean
  preventExecution: false, // Boolean
  sensitiveResponse: false, // Boolean
  usage: [], // Usage schema
}
{
  _id, // queueId
  active: true,
  projectId: '5fc455ce1924bd02bf49d28f',
  instanceId: '5fc146db473fee8d98bd1de',
  workflowId: '5fc726bd9834be02d99ee48d',
  workflowName: 'Daily email workflow'
  workflowType: 'workflow',
  status: 'received', // pending, queued, uploading, starting, initializing, loading, running, webhook, complete, error, archived
  queueType: 'return', // return, queue, schedule
  date: new Date(), // workflow start time
  storageInstanceId: '', //
  ipAddress: '',
  publicUser: true,
  stats: [], // Queue Stat schema
}
{
  _id, // queueStatId
  active: true,
  queueId: '5fc72e6d3884be02e11fd48d',
  instanceId: '5fc146db473fee8d98bd1de',
  status: 'received', // pending, queued, uploading, starting, initializing, loading, running, webhook, complete, error, archived
  statusText: '',
  error: false,
}
The storage instance id will be an empty string or will contain the id of a storage reference when a custom payload is passed to a workflow.
{
  _id, // instanceId
  active: true,
  projectId: '5fc455ce1924bd02bf49d28f',
  queueId: '5fc72e6d3884be02e11fd48d',
  queueType: 'return', // return, queue, schedule
  workflowId: '5fc726bd9834be02d99ee48d',
  workflowName: 'Daily email workflow'
  workflowType: 'workflow',
  totalBytesDown: 0,
  totalBytesUp: 0,
  totalMs: 0,
  ipAddress: '',
  publicUser: true,
  stats: [], // Instance Stat schema
  usage: [], // Usage Stat schema
}
{
    _id, // statId
    active: true,
    instanceId: '5fc146db473fee8d98bd1de',
    taskId: '5fc726bd4534eb02d99ff48d',
    taskField: 'tasks', // tasks, payload, webhooks
    requestName: 'Send customer email',
    status: 200,
    statusText: '',
    requestType: 'request', // request, webhook
    requestId: '5fc726bd1684be02dc49e48d',
    requestPayload: {},
    responsePayload: {},
    startTime: new Date(),
    endTime: new Date(),
    duration: 0,
    requestSize: 0,
    responseSize: 0,
    responseType: '',
    error: false,
    sensitiveResponse: false,
}
{
  _id, // usageId
  active: true,
  usageId: '5fc726bd873fe02d99dd18f', // resource id
  usageDetail: '', // usage description
  usageType: 'request', // request, webhook, storage, stat
  usageDirection: 'up', // up, down, time
  usageAmount: 0,
  usageLocation: 'api', // api, instance, queue
  usageMeasurement: 'byte', // byte, ms
}
// lockedResource, preventExecution, sensitiveResponse
- This project is maintained by Zach Coss and hosted on AWS (part of the AWS Activate Founders program).
- If you like this project, have any suggestions, would like to partner, or need to report a security issue, please reach out to [email protected]. You can also use the Feedback button located within the dashboard.
- Backup and versioning (in development).
- Delete (in development). I take your privacy seriously, and can export or delete all of your data at any point in time. Reach out to [email protected].