Skip to content

/ api reference

Workspace

Every request with an API key acts in the key's workspace. These routes read it: its name and plan, what this billing period has used against the plan, and which key is calling.

Get the current API key

get/api/v1/api-key/me

The key making the request: its name, role, expiry and workspace. Handy to check a key before using it.

Requires Viewer key or above

Responses

  • 200The key and its workspace.
    Response fields
    • idstringrequired
    • namestringrequired
    • prefixstringrequired
    • role"admin" | "developer" | "viewer"required
    • expiresAtstring | nullrequired
    • workspaceobjectrequired
      3 fields
      • idstringrequired
      • slugstringrequired
      • namestringrequired
  • 404The request was not made with an API key.
Request
curl "https://api.hiraiship.com/api/v1/api-key/me" \
  -H "Authorization: Bearer $HIRAISHIP_TOKEN"

Get the workspace

get/api/v1/workspace/me

The API key's workspace: its name, slug, plan, spend limit, and suspendedReason when a quota or the spend limit suspended it.

Requires Viewer key or above (workspace.read)

Responses

  • 200The workspace.
    Response fields
    • idstringrequired
    • namestringrequired
    • slugstringrequired
    • ownerUserIdstringrequired
    • planIdstringrequired
    • spendLimitUsdnumber | nullrequired
    • suspendedReason"request_quota" | "spend_limit" | nullrequired
    • suspendedAtstring | nullrequired
    • createdAtstringrequired
  • 401No valid API key.
Request
curl "https://api.hiraiship.com/api/v1/workspace/me" \
  -H "Authorization: Bearer $HIRAISHIP_TOKEN"

Get usage

get/api/v1/workspace/usage

The workspace's plan and this billing period's usage: quotas lists every included amount with what is used, and on a paid plan overageUsd is what that metric adds to the bill. requestsThisPeriod and cpuTimeMsThisPeriod are null until usage has been measured once, which is not the same as zero.

Requires Viewer key or above (workspace.read)

Responses

  • 200The plan and this period's usage.
    Response fields
    • planobjectrequired
      30 fields
      • idstringrequired
      • namestringrequired
      • priceUsdMonthlynumberrequired
      • activeEnvironmentsIncludednumberrequired
      • environmentsPerProjectnumberrequired
      • buildMinutesIncludednumberrequired
      • defaultBuildMachine"standard-1" | "standard-2" | "standard-3" | "standard-4"required
      • buildMachines("standard-1" | "standard-2" | "standard-3" | "standard-4")[]required
      • buildMachinePricesUsdobjectrequired
        4 fields
        • standard-1number
        • standard-2number
        • standard-3number
        • standard-4number
      • requestsIncludednumberrequired
      • cpuTimeIncludedMsnumber | nullrequired
      • customDomainsIncludednumberrequired
      • seatsIncludednumberrequired
      • seatsMaxnumber | nullrequired
      • deploymentsPerDaynumber | nullrequired
      • projectsCreatedPerHournumberrequired
      • maxConcurrentBuildsnumberrequired
      • maxQueuedBuildsnumberrequired
      • buildTimeoutMsnumberrequired
      • cpuMsPerRequestnumberrequired
      • subRequestsPerRequestnumberrequired
      • retainedDeploymentsnumberrequired
      • billsAssetRequestsbooleanrequired
      • pauseAfterInactiveDaysnumber | nullrequired
      • hibernateAfterInactiveDaysnumber | nullrequired
      • overageobject | nullrequired
        5 fields
        • requestsPerMillionUsdnumberrequired
        • cpuPerMillionMsUsdnumberrequired
        • customDomainMonthlyUsdnumberrequired
        • activeEnvironmentMonthlyUsdnumberrequired
        • seatMonthlyUsdnumber | nullrequired
      • defaultSpendLimitUsdnumber | nullrequired
      • maxSpendLimitUsdnumber | nullrequired
      • features("sso" | "audit_log" | "sla" | "priority_support")[]required
      • platformDomainsIncludednumberrequired
    • periodobjectrequired
      2 fields
      • startstringrequired
      • endstringrequired
    • projectCountnumberrequired
    • environmentCountnumberrequired
    • activeEnvironmentCountnumberrequired
    • deploymentCountsobjectrequired
      4 fields
      • queuednumberrequired
      • pendingnumberrequired
      • successnumberrequired
      • failednumberrequired
    • deploymentsThisPeriodnumberrequired
    • customDomainCountnumberrequired
    • buildMinutesThisPeriodnumberrequired
    • buildMinutesByMachineobject[]required
      5 fields
      • machine"standard-1" | "standard-2" | "standard-3" | "standard-4"required
      • minutesnumberrequired
      • includednumberrequired
      • priceUsdPerMinutenumberrequired
      • overageUsdnumber | nullrequired
    • requestsThisPeriodnumber | nullrequired
    • assetRequestsThisPeriodnumber | nullrequired
    • cpuTimeMsThisPeriodnumber | nullrequired
    • quotasobject[]required
      5 fields
      • key"active_environments" | "environments" | "custom_domains" | "build_minutes" | "concurrent_builds" | "queued_builds" | "deployments_per_day" | "requests" | "cpu_time" | "spend_limit" | "free_tier_capacity" | "seats" | "build_machine"required
      • usednumberrequired
      • includednumberrequired
      • state"ok" | "warning" | "exceeded"required
      • overageUsdnumber | nullrequired
    • estimatedBillobject | nullrequired
      3 fields
      • planUsdnumberrequired
      • overageUsdnumberrequired
      • totalUsdnumberrequired
    • spendLimitobject | nullrequired
      5 fields
      • limitUsdnumberrequired
      • usedUsdnumberrequired
      • maxUsdnumberrequired
      • isDefaultbooleanrequired
      • projectedReachAtstring | nullrequired
    • cheaperPlanobject | nullrequired
      3 fields
      • planIdstringrequired
      • namestringrequired
      • estimatedBillUsdnumberrequired
    • alertsobject[]required
      3 fields
      • key"active_environments" | "environments" | "custom_domains" | "build_minutes" | "concurrent_builds" | "queued_builds" | "deployments_per_day" | "requests" | "cpu_time" | "spend_limit" | "free_tier_capacity" | "seats" | "build_machine"required
      • threshold50 | 80 | 100required
      • sincestringrequired
    • suspendedobject | nullrequired
      2 fields
      • reason"request_quota" | "spend_limit" | "inactive" | "plan_limit" | "hibernated"required
      • sincestringrequired
  • 401No valid API key.
Request
curl "https://api.hiraiship.com/api/v1/workspace/usage" \
  -H "Authorization: Bearer $HIRAISHIP_TOKEN"