Hyphen Engine
v1.0.0Hyphen Engine API explorer
Server
https://api.hyphen.ai
Authorization
OAuth2
GET
/api/auth/login
Get a login
Get a user login for the given client id and scope. The user login will generate a code challenge and redirect to the auth provider login page for the user to complete the login. The Login will also set the callback url to the token exchange endpoint.
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| scope | string | query | The scopes of the token to be generated. You can request multiple scopes by separating them with a space. |
| state | string | query | The state to be passed back to client. |
| prompt | string | query | The oauth2 prompt. |
Responses
302
Successfully got a login
curl -X GET "https://api.hyphen.ai/api/auth/login?scope={scope}&state={state}&prompt={prompt}"
const response = await fetch('https://api.hyphen.ai/api/auth/login?scope={scope}&state={state}&prompt={prompt}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/auth/login',
params={
'scope': '{scope}',
'state': '{state}',
'prompt': '{prompt}'
}
)
data = response.json()
Test Request
Parameters
scope
query
state
query
prompt
query
GET
/api/auth/token-exchange
Get a token
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| code | string | query | The code from the auth provider login. |
| state * | string | query | The state from the auth provider login. |
Responses
302
Successfully got a token
403
Unable to get a token
curl -X GET "https://api.hyphen.ai/api/auth/token-exchange?code={code}&state={state}"
const response = await fetch('https://api.hyphen.ai/api/auth/token-exchange?code={code}&state={state}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/auth/token-exchange',
params={
'code': '{code}',
'state': '{state}'
}
)
data = response.json()
Test Request
Parameters
code
query
state
query
*
POST
/api/auth/jwt-refresh
Create a token refresh
Create a token refresh. This will use a refresh token from the cookies set in the token exchange and return a new token with a new expiration.
Responses
204
Successfully created a token refresh.
403
Unable to create a token refresh
curl -X POST "https://api.hyphen.ai/api/auth/jwt-refresh"
const response = await fetch('https://api.hyphen.ai/api/auth/jwt-refresh', {
method: 'POST'
});
const data = await response.json();
import requests
response = requests.post('https://api.hyphen.ai/api/auth/jwt-refresh')
data = response.json()
Test Request
GET
/api/auth/logout
Get a logout
Get a user logout. This will clear the cookies and redirect to the auth provider logout page.
Responses
302
Successfully got a logout
curl -X GET "https://api.hyphen.ai/api/auth/logout"
const response = await fetch('https://api.hyphen.ai/api/auth/logout', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/auth/logout')
data = response.json()
Test Request
POST
/api/auth/m2m
Create a m2m token
Create a m2m token using the client id and client secret.
Request Body application/json
clientId*
string
The client Id.
clientSecret*
string
The client secret.
{
"clientId": "string",
"clientSecret": "string"
}
Responses
201
Successfully created an m2m token
access_token
string
The access token to use for the bearer token.
id_token
string
The Id token.
token_type
string
The token type.
access_token_expires_in
number
The milliseconds until the access token expires.
access_token_expires_at
number
The of milliseconds since EPOC.
{
"access_token": "string",
"id_token": "string",
"token_type": "string",
"access_token_expires_in": 0,
"access_token_expires_at": 0
}
curl -X POST "https://api.hyphen.ai/api/auth/m2m" \
-H "Content-Type: application/json" \
-d '{ "clientId": "string", "clientSecret": "string"}'
const response = await fetch('https://api.hyphen.ai/api/auth/m2m', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "clientId": "string", "clientSecret": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/auth/m2m',
headers={
'Content-Type': 'application/json'
},
json={ "clientId": "string", "clientSecret": "string"}
)
data = response.json()
Test Request
Body
Billing Accounts
GET
/api/billing-accounts/
Get a list of billing accounts
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
Responses
200
Successfully got a list of billing accounts
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"email": "string",
"phone": "string",
"address": {
"streetAddress": "string",
"locality": "string",
"region": "string",
"postalCode": "string",
"country": "US"
},
"provider": "Stripe",
"providerId": "string",
"paymentMethods": [
{
"providerId": "string",
"type": "Card",
"last4": "string",
"cardType": "Visa",
"expiration": "string",
"isDefault": true
}
],
"subscription": {
"providerId": "string",
"startDate": "string",
"status": "string",
"cycles": [
{
"id": 0,
"startDate": "string",
"endDate": "string",
"invoicePreviewAmountDue": 0
}
],
"isDelinquent": true
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"credit": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/billing-accounts/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/billing-accounts/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
GET
/api/billing-accounts/{billingAccountId}/
Get the billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
Responses
200
Successfully got a billing account
id
string
The billing account Id.
name
string
The billing name.
email
string (email)
The billing email address.
phone
string
The billing phone number.
address
object
The billing address.
provider
string
The billing provider.
providerId
string
The billing provider Id.
paymentMethods
array(object)
The payment methods.
subscription
object
The billing subscription.
owners
array(object)
The billing owners.
invoices
array(object)
The billing account invoices.
{
"id": "string",
"name": "string",
"email": "string",
"phone": "string",
"address": {
"streetAddress": "string",
"locality": "string",
"region": "string",
"postalCode": "string",
"country": "US"
},
"provider": "Stripe",
"providerId": "string",
"paymentMethods": [
{
"providerId": "string",
"type": "Card",
"last4": "string",
"cardType": "Visa",
"expiration": "string",
"isDefault": true
}
],
"subscription": {
"providerId": "string",
"startDate": "string",
"status": "string",
"cycles": [
{
"id": 0,
"startDate": "string",
"endDate": "string",
"invoicePreviewAmountDue": 0
}
],
"isDelinquent": true
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"credit": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/"
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/')
data = response.json()
Test Request
Parameters
billingAccountId
path
*
PATCH
/api/billing-accounts/{billingAccountId}/
Update the billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
Request Body application/json
name
string
The billing name.
email
string (email)
The billing email address.
phone
string
The billing phone number.
address
object
The billing address.
promoCodes
array(string)
The billing promo codes.
{
"name": "string",
"email": "string",
"phone": "string",
"address": {
"streetAddress": "string",
"locality": "string",
"region": "string",
"postalCode": "string",
"country": "US"
},
"promoCodes": [
"string"
]
}
Responses
200
Successfully updated a billing account
id
string
The billing account Id.
name
string
The billing name.
email
string (email)
The billing email address.
phone
string
The billing phone number.
address
object
The billing address.
provider
string
The billing provider.
providerId
string
The billing provider Id.
paymentMethods
array(object)
The payment methods.
subscription
object
The billing subscription.
owners
array(object)
The billing owners.
invoices
array(object)
The billing account invoices.
{
"id": "string",
"name": "string",
"email": "string",
"phone": "string",
"address": {
"streetAddress": "string",
"locality": "string",
"region": "string",
"postalCode": "string",
"country": "US"
},
"provider": "Stripe",
"providerId": "string",
"paymentMethods": [
{
"providerId": "string",
"type": "Card",
"last4": "string",
"cardType": "Visa",
"expiration": "string",
"isDefault": true
}
],
"subscription": {
"providerId": "string",
"startDate": "string",
"status": "string",
"cycles": [
{
"id": 0,
"startDate": "string",
"endDate": "string",
"invoicePreviewAmountDue": 0
}
],
"isDelinquent": true
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"credit": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "email": "string", "phone": "string", "address": { "streetAddress": "string", "locality": "string", "region": "string", "postalCode": "string", "country": "US" }, "promoCodes": [ "string" ]}'
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "email": "string", "phone": "string", "address": { "streetAddress": "string", "locality": "string", "region": "string", "postalCode": "string", "country": "US" }, "promoCodes": [ "string" ]})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "email": "string", "phone": "string", "address": { "streetAddress": "string", "locality": "string", "region": "string", "postalCode": "string", "country": "US" }, "promoCodes": [ "string" ]}
)
data = response.json()
Test Request
Parameters
billingAccountId
path
*
Body
GET
/api/billing-accounts/{billingAccountId}/usage
Get the usage for a billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingCycle | number | query | The billing cycle number. |
| billingAccountId * | string | path | The billing account id |
Responses
200
Successfully got a billing account usage
billingCycle
number
The billing cycle number.
totalDays
number
The total days in the billing cycle.
remainingDays
number
The remaining days in the billing cycle.
startDate
string (date-time)
The start date of the billing cycle.
endDate
string (date-time)
The end date of the billing cycle.
lastUpdated
string (date-time)
The last updated date of the usage.
organizations
array(object)
total
object
{
"billingCycle": 1,
"totalDays": 30,
"remainingDays": 15,
"startDate": "2021-01-01T00:00:00Z",
"endDate": "2021-01-31T23:59:59Z",
"lastUpdated": "2021-01-01T00:00:00Z",
"organizations": [
{
"organization": {
"id": "string",
"name": "string"
},
"lastUpdated": "2021-01-01T00:00:00Z",
"total": {
"user": {
"active": 100
},
"seat": {
"total": 100,
"open": 50
},
"env": {
"pull": 100,
"push": 100
},
"link": {
"created": 100
},
"netInfo": {
"requests": 100
},
"toggle": {
"evaluations": 100
},
"deploy": {
"seconds": 1000
},
"agent": {
"seconds": 1000
}
}
}
],
"total": {
"user": {
"active": 100
},
"seat": {
"total": 100,
"open": 50
},
"env": {
"pull": 100,
"push": 100
},
"link": {
"created": 100
},
"netInfo": {
"requests": 100
},
"toggle": {
"evaluations": 100
},
"deploy": {
"seconds": 1000
},
"agent": {
"seconds": 1000
}
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/usage?billingCycle={billingCycle}"
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/usage?billingCycle={billingCycle}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/usage',
params={
'billingCycle': '{billingCycle}'
}
)
data = response.json()
Test Request
Parameters
billingCycle
query
billingAccountId
path
*
PUT
/api/billing-accounts/{billingAccountId}/subscription/status
Update the status for a subscription
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
Request Body application/json
status*
string
The new status for the billing account subscription
{
"status": "Active"
}
Responses
204
Successfully updated billing account subscription status
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PUT "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/subscription/status" \
-H "Content-Type: application/json" \
-d '{ "status": "Active"}'
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/subscription/status', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "status": "Active"})
});
const data = await response.json();
import requests
response = requests.put(
'https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/subscription/status',
headers={
'Content-Type': 'application/json'
},
json={ "status": "Active"}
)
data = response.json()
Test Request
Parameters
billingAccountId
path
*
Body
GET
/api/billing-accounts/{billingAccountId}/invoices/{invoiceProviderId}/urls
Get urls for invoice
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
| invoiceProviderId * | string | path | The invoice provider Id. |
Responses
200
Default Response
http
null,string
URL to view the HTTP invoice
pdf
null,string
URL to download the PDF invoice
{
"http": null,
"pdf": null
}
curl -X GET "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/invoices/{invoiceProviderId}/urls"
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/invoices/{invoiceProviderId}/urls', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/invoices/{invoiceProviderId}/urls')
data = response.json()
Test Request
Parameters
billingAccountId
path
*
invoiceProviderId
path
*
GET
/api/billing-accounts/{billingAccountId}/organizations/
Get the organizations for a billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| billingAccountId * | string | path | The billing account Id. |
Responses
200
Successfully got a list of organizations
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string",
"type": "development"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/organizations/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/organizations/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/organizations/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
billingAccountId
path
*
POST
/api/billing-accounts/{billingAccountId}/owners/
Create an owner for a billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
Request Body application/json
email*
string (email)
The owner email address
{
"email": "string"
}
Responses
200
Successfully created an owner
userId
string
The user Id.
name
string
The owner full name.
email
string (email)
The owner email address
{
"userId": "string",
"name": "string",
"email": "string"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/owners/" \
-H "Content-Type: application/json" \
-d '{ "email": "string"}'
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/owners/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "email": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/owners/',
headers={
'Content-Type': 'application/json'
},
json={ "email": "string"}
)
data = response.json()
Test Request
Parameters
billingAccountId
path
*
Body
DELETE
/api/billing-accounts/{billingAccountId}/owners/{userId}/
Delete the owner for a billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
| userId * | string | path | The user Id. |
Responses
204
Successfully deleted an owner
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/owners/{userId}/"
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/owners/{userId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/owners/{userId}/')
data = response.json()
Test Request
Parameters
billingAccountId
path
*
userId
path
*
POST
/api/billing-accounts/{billingAccountId}/payment-methods/
Create a payment method for a billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
Request Body application/json
confirmationToken*
string
The confirmation token for the payment method
{
"confirmationToken": "string"
}
Responses
200
Successfully created a payment method
providerId
string
The payment method provider Id.
type
string
The payment method type.
last4
string
The last four digits of credit card or bank account
cardType
string
The card type.
expiration
string
The expiration date of the card.
isDefault
boolean
The default payment method.
{
"providerId": "string",
"type": "Card",
"last4": "string",
"cardType": "Visa",
"expiration": "string",
"isDefault": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/" \
-H "Content-Type: application/json" \
-d '{ "confirmationToken": "string"}'
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "confirmationToken": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/',
headers={
'Content-Type': 'application/json'
},
json={ "confirmationToken": "string"}
)
data = response.json()
Test Request
Parameters
billingAccountId
path
*
Body
DELETE
/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/
Delete the payment method for a billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
| providerId * | string | path | The payment method provider Id. |
Responses
204
Successfully deleted a payment method
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/"
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/')
data = response.json()
Test Request
Parameters
billingAccountId
path
*
providerId
path
*
PATCH
/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/
Update the payment method for a billing account
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingAccountId * | string | path | The billing account Id. |
| providerId * | string | path | The payment method provider Id. |
Request Body application/json
isDefault*
boolean
The default payment method.
{
"isDefault": true
}
Responses
200
Successfully updated a payment method
providerId
string
The payment method provider Id.
type
string
The payment method type.
last4
string
The last four digits of credit card or bank account
cardType
string
The card type.
expiration
string
The expiration date of the card.
isDefault
boolean
The default payment method.
{
"providerId": "string",
"type": "Card",
"last4": "string",
"cardType": "Visa",
"expiration": "string",
"isDefault": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/" \
-H "Content-Type: application/json" \
-d '{ "isDefault": true}'
const response = await fetch('https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "isDefault": true})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/',
headers={
'Content-Type': 'application/json'
},
json={ "isDefault": true}
)
data = response.json()
Test Request
Parameters
billingAccountId
path
*
providerId
path
*
Body
GET
/api/organizations/{organizationId}/billing-account/
Get the billing account for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got the billing account for an organization
id
string
The billing account Id.
name
string
The billing name.
email
string (email)
The billing email address.
phone
string
The billing phone number.
address
object
The billing address.
provider
string
The billing provider.
providerId
string
The billing provider Id.
paymentMethods
array(object)
The payment methods.
subscription
object
The billing subscription.
owners
array(object)
The billing owners.
invoices
array(object)
The billing account invoices.
{
"id": "string",
"name": "string",
"email": "string",
"phone": "string",
"address": {
"streetAddress": "string",
"locality": "string",
"region": "string",
"postalCode": "string",
"country": "US"
},
"provider": "Stripe",
"providerId": "string",
"paymentMethods": [
{
"providerId": "string",
"type": "Card",
"last4": "string",
"cardType": "Visa",
"expiration": "string",
"isDefault": true
}
],
"subscription": {
"providerId": "string",
"startDate": "string",
"status": "string",
"cycles": [
{
"id": 0,
"startDate": "string",
"endDate": "string",
"invoicePreviewAmountDue": 0
}
],
"isDelinquent": true
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"credit": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/billing-account/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/billing-account/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/billing-account/')
data = response.json()
Test Request
Parameters
organizationId
path
*
GET
/api/organizations/{organizationId}/billing-account/invoices/{invoiceProviderId}/urls
Get urls for invoice
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| invoiceProviderId * | string | path | The invoice provider Id. |
Responses
200
Default Response
http
null,string
URL to view the HTTP invoice
pdf
null,string
URL to download the PDF invoice
{
"http": null,
"pdf": null
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/billing-account/invoices/{invoiceProviderId}/urls"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/billing-account/invoices/{invoiceProviderId}/urls', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/billing-account/invoices/{invoiceProviderId}/urls')
data = response.json()
Test Request
Parameters
organizationId
path
*
invoiceProviderId
path
*
Package Download
GET
/api/downloads/{packageName}/{version}
Get the download URL for the specified package and version
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| os | string | query | |
| packageName * | string | path | |
| version * | string | path |
Responses
302
Redirects to the download URL
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
(value)
string
Internal Server Error
"Error: Internal Server Error"
curl -X GET "https://api.hyphen.ai/api/downloads/{packageName}/{version}?os={os}"
const response = await fetch('https://api.hyphen.ai/api/downloads/{packageName}/{version}?os={os}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/downloads/{packageName}/{version}',
params={
'os': '{os}'
}
)
data = response.json()
Test Request
Parameters
os
query
packageName
path
*
version
path
*
GET
/api/downloads/{packageName}/versions
Get a list of versions for the specified package.
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| latest | string | query | |
| packageName * | string | path |
Responses
200
Successfully got a list of versions
data
array(object)
{
"data": [
{
"packageName": "something",
"version": "1.0.0",
"latest": true,
"published": "2024-05-30"
},
{
"packageName": "something",
"version": "0.9.0",
"latest": false,
"published": "2024-05-29"
}
]
}
404
Package not found
(value)
string
Package not found
"Package not found"
500
Internal Server Error
(value)
string
Internal Server Error
"Error: Internal Server Error"
curl -X GET "https://api.hyphen.ai/api/downloads/{packageName}/versions?latest={latest}"
const response = await fetch('https://api.hyphen.ai/api/downloads/{packageName}/versions?latest={latest}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/downloads/{packageName}/versions',
params={
'latest': '{latest}'
}
)
data = response.json()
Test Request
Parameters
latest
query
packageName
path
*
Events
POST
/api/events/{organizationId}/search
Get a list of events for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
types
array(string)
The type of events to filter by.
references
array(object)
The references for the event.
referenceOperation
string
Specifies whether to match all (AND) or any (OR) of the references.
startDate
string (date-time)
The start date for the events.
endDate
string (date-time)
The end date for the events.
pageSize
number
The page size.
pageCursor
string
The page cursor.
{
"types": [
"DATABASE"
],
"references": [
{
"id": "string",
"type": "string",
"view": {
"key": "value"
}
}
],
"referenceOperation": "AND",
"startDate": "string",
"endDate": "string",
"pageSize": 0,
"pageCursor": "evnt_60b3b3f4c4b3f00001f3b3f4"
}
Responses
200
Successfully got a list of events for an organization
data
array(object)
pageSize
number
The page size.
nextPageCursor
string
The next page cursor.
{
"data": [
{
"id": "evnt_60b3b3f4c4b3f00001f3b3f4",
"type": "ORGANIZATION.CREATE",
"timestamp": "2021-09-14T15:00:00Z",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"requestId": "12345",
"references": [
{
"id": "usr_60b3b3f4c4b3f00001f3b3f4",
"type": "User",
"view": {
"name": "John Doe",
"email": "[email protected]"
}
}
],
"actor": {
"id": "ca1c9bbd-9dd4-4119-81df-6a8ceea5dea0",
"name": "John Doe"
},
"user": {
"id": "mem_66bf99b72a0043f841769880",
"name": "John Doe"
},
"data": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
}
}
],
"pageSize": 0,
"nextPageCursor": "evnt_60b3b3f4c4b3f00001f3b3f4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/events/{organizationId}/search" \
-H "Content-Type: application/json" \
-d '{ "types": [ "DATABASE" ], "references": [ { "id": "string", "type": "string", "view": { "key": "value" } } ], "referenceOperation": "AND", "startDate": "string", "endDate": "string", "pageSize": 0, "pageCursor": "evnt_60b3b3f4c4b3f00001f3b3f4"}'
const response = await fetch('https://api.hyphen.ai/api/events/{organizationId}/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "types": [ "DATABASE" ], "references": [ { "id": "string", "type": "string", "view": { "key": "value" } } ], "referenceOperation": "AND", "startDate": "string", "endDate": "string", "pageSize": 0, "pageCursor": "evnt_60b3b3f4c4b3f00001f3b3f4"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/events/{organizationId}/search',
headers={
'Content-Type': 'application/json'
},
json={ "types": [ "DATABASE" ], "references": [ { "id": "string", "type": "string", "view": { "key": "value" } } ], "referenceOperation": "AND", "startDate": "string", "endDate": "string", "pageSize": 0, "pageCursor": "evnt_60b3b3f4c4b3f00001f3b3f4"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
Integrations
GET
/api/integrations/
Get a list of integrations
Responses
200
Successfully got a list of available integrations
data
array(object)
{
"data": [
{
"type": "hyphenCloud",
"name": "string",
"description": "string",
"image": "string",
"backgroundImage": "string",
"provides": [
{
"connectionType": "DistributionList",
"for": [
"Organization"
]
}
]
}
]
}
curl -X GET "https://api.hyphen.ai/api/integrations/"
const response = await fetch('https://api.hyphen.ai/api/integrations/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/integrations/')
data = response.json()
Test Request
Users
GET
/api/me/
Get the current user information
Responses
200
Successfully got the current user information
isImpersonating
boolean
isHyphenInternal
boolean
decodedIdToken
object
accessTokenExpiresIn
number
accessTokenExpiresAt
number
decodedToken
object
memberships
array(object)
{
"isImpersonating": true,
"isHyphenInternal": true,
"decodedIdToken": {
"email_verified": true,
"name": "string",
"preferred_username": "string",
"given_name": "string",
"family_name": "string",
"email": "string"
},
"accessTokenExpiresIn": 0,
"accessTokenExpiresAt": 0,
"decodedToken": {
"exp": 0,
"iat": 0,
"iss": "string",
"aud": "string",
"sub": "string",
"scope": "string",
"email_verified": true,
"name": "string",
"preferred_username": "string",
"given_name": "string",
"family_name": "string",
"email": "string"
},
"memberships": [
{
"id": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"nickname": "string",
"connectedAccounts": [
{
"identifier": "string",
"type": "idp",
"email": "string",
"profileUrl": "string"
}
],
"organization": {
"id": "string",
"name": "string",
"isOrganizationAdmin": true
},
"favorites": [
{
"key": "value"
}
],
"teams": [
{
"id": "string",
"name": "string"
}
],
"resources": [
{}
],
"organizationRoles": [
"OrganizationAdmin"
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/me/"
const response = await fetch('https://api.hyphen.ai/api/me/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/me/')
data = response.json()
Test Request
Organizations
GET
/api/organizations/
Get a list of organizations
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| name | string | query | Filter by organization name starts with (case insensitive) |
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
Responses
200
Successfully got a list of organizations
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string",
"type": "development"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/?name={name}&pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/?name={name}&pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/',
params={
'name': '{name}',
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
name
query
pageNum
query
pageSize
query
POST
/api/organizations/
Create an organization
Request Body application/json
name*
string
The name of the organization.
defaultEnvironments
array(object)
billingAccount*
oneOf
createDefaultProject
boolean
Flag to create a default project when no project is specified.
{
"name": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string",
"type": "development"
}
],
"billingAccount": null,
"createDefaultProject": true
}
Responses
201
Successfully created an organization
id
string
The organization Id.
name
string
The name of the organization.
logoUrl
string
The URL of the organization logo.
defaultEnvironments
array(object)
billingAccount
object
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string",
"type": "development"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "defaultEnvironments": [ { "name": "string", "alternateId": "string", "color": "string", "type": "development" } ], "billingAccount": null, "createDefaultProject": true}'
const response = await fetch('https://api.hyphen.ai/api/organizations/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "defaultEnvironments": [ { "name": "string", "alternateId": "string", "color": "string", "type": "development" } ], "billingAccount": null, "createDefaultProject": true})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "defaultEnvironments": [ { "name": "string", "alternateId": "string", "color": "string", "type": "development" } ], "billingAccount": null, "createDefaultProject": true}
)
data = response.json()
Test Request
Body
GET
/api/organizations/{organizationId}/
Get an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got an organization
id
string
The organization Id.
name
string
The name of the organization.
logoUrl
string
The URL of the organization logo.
defaultEnvironments
array(object)
billingAccount
object
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string",
"type": "development"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
PATCH
/api/organizations/{organizationId}/
Update an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
name
string
The name of the organization.
defaultEnvironments
array(object)
{
"name": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string",
"type": "development"
}
]
}
Responses
200
Successfully updated an organization
id
string
The organization Id.
name
string
The name of the organization.
logoUrl
string
The URL of the organization logo.
defaultEnvironments
array(object)
billingAccount
object
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string",
"type": "development"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "defaultEnvironments": [ { "name": "string", "alternateId": "string", "color": "string", "type": "development" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "defaultEnvironments": [ { "name": "string", "alternateId": "string", "color": "string", "type": "development" } ]})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "defaultEnvironments": [ { "name": "string", "alternateId": "string", "color": "string", "type": "development" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
PUT
/api/organizations/{organizationId}/logo
Update the logo for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body multipart/form-data
logo*
string (binary)
{
"logo": "string"
}
Responses
200
Successfully updated the logo for an organization
logoUrl
string
The URL of the organization logo
{
"logoUrl": "string"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PUT "https://api.hyphen.ai/api/organizations/{organizationId}/logo" \
-H "Content-Type: multipart/form-data" \
-d '{ "logo": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/logo', {
method: 'PUT',
headers: {
'Content-Type': 'multipart/form-data'
},
body: JSON.stringify({ "logo": "string"})
});
const data = await response.json();
import requests
response = requests.put(
'https://api.hyphen.ai/api/organizations/{organizationId}/logo',
headers={
'Content-Type': 'multipart/form-data'
},
json={ "logo": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/usage
Get an organization usage
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| billingCycle | number | query | The billing cycle number. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got the usage for an organization
billingCycle
number
The billing cycle number.
totalDays
number
The total days in the billing cycle.
remainingDays
number
The remaining days in the billing cycle.
startDate
string (date-time)
The start date of the billing cycle.
endDate
string (date-time)
The end date of the billing cycle.
lastUpdated
string (date-time)
The last updated date of the usage.
total
object
organization
object
{
"billingCycle": 1,
"totalDays": 30,
"remainingDays": 15,
"startDate": "2021-01-01T00:00:00Z",
"endDate": "2021-01-31T23:59:59Z",
"lastUpdated": "2021-01-01T00:00:00Z",
"total": {
"user": {
"active": 100
},
"seat": {
"total": 100,
"open": 10
},
"env": {
"pull": 100,
"push": 100
},
"link": {
"created": 100
},
"netInfo": {
"requests": 100
},
"toggle": {
"evaluations": 100
},
"deploy": {
"seconds": 7200
},
"agent": {
"seconds": 7200
}
},
"organization": {
"id": "string",
"name": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/usage?billingCycle={billingCycle}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/usage?billingCycle={billingCycle}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/usage',
params={
'billingCycle': '{billingCycle}'
}
)
data = response.json()
Test Request
Parameters
billingCycle
query
organizationId
path
*
GET
/api/organizations/{organizationId}/kubernetes/clusters
Get Kubernetes clusters for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of Kubernetes clusters for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"alternateId": "string",
"name": "string",
"taskQueue": "string",
"state": "unknown",
"cloudProvider": "googleCloud",
"source": "horizon",
"kubernetes": {
"clusterUid": "string",
"identitySource": "kube-system-namespace-uid"
},
"temporal": {
"namespace": "string",
"address": "string",
"serviceAccountId": "string",
"serviceAccountName": "string",
"apiKeyId": "string",
"apiKeyExpiresAt": "string"
},
"lastSeenAt": "string",
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
GET
/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}
Get a Kubernetes cluster for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| clusterId * | string | path | The Kubernetes cluster Id. |
Responses
200
Successfully got a Kubernetes cluster for an organization
id
string
organization
object
alternateId
string
name
string
taskQueue
string
state
string
cloudProvider
string
source
string
kubernetes
object
temporal
object
lastSeenAt
string (date-time)
meta
object
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"alternateId": "string",
"name": "string",
"taskQueue": "string",
"state": "unknown",
"cloudProvider": "googleCloud",
"source": "horizon",
"kubernetes": {
"clusterUid": "string",
"identitySource": "kube-system-namespace-uid"
},
"temporal": {
"namespace": "string",
"address": "string",
"serviceAccountId": "string",
"serviceAccountName": "string",
"apiKeyId": "string",
"apiKeyExpiresAt": "string"
},
"lastSeenAt": "string",
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
clusterId
path
*
DELETE
/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}
Delete a Kubernetes cluster for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| clusterId * | string | path | The Kubernetes cluster Id. |
Responses
202
Successfully started Kubernetes cluster deletion
workflowId
string
runId
string
namespace
string
workflowTaskQueue
string
clusterTaskQueue
string
alreadyDeleted
boolean
{
"workflowId": "string",
"runId": "string",
"namespace": "string",
"workflowTaskQueue": "string",
"clusterTaskQueue": "string",
"alreadyDeleted": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
clusterId
path
*
GET
/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory
Get Kubernetes cluster inventory snapshots for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
| clusterId * | string | path | The Kubernetes cluster Id. |
Responses
200
Successfully got Kubernetes cluster inventory snapshots for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"cluster": {
"id": "string",
"name": "string"
},
"collectedAt": "string",
"storedAt": "string",
"workflow": {
"workflowId": "string",
"runId": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
clusterId
path
*
GET
/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/{snapshotId}
Get a Kubernetes cluster inventory snapshot for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| clusterId * | string | path | The Kubernetes cluster Id. |
| snapshotId * | string (ObjectId) | path | The Kubernetes inventory snapshot ID. |
Responses
200
Successfully got a Kubernetes cluster inventory snapshot for an organization
id
string
The inventory snapshot ID.
organization
object
cluster
object
collectedAt
string (date-time)
storedAt
string (date-time)
workflow
object
inventory
object
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"cluster": {
"id": "string",
"name": "string"
},
"collectedAt": "string",
"storedAt": "string",
"workflow": {
"workflowId": "string",
"runId": "string"
},
"inventory": {
"key": "value"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/{snapshotId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/{snapshotId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/{snapshotId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
clusterId
path
*
snapshotId
path
*
POST
/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/refresh
Refresh Kubernetes cluster inventory
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| clusterId * | string | path | The Kubernetes cluster Id. |
Responses
202
Successfully started a Kubernetes inventory refresh or returned the already-running workflow
workflowId
string
runId
string
namespace
string
workflowTaskQueue
string
clusterTaskQueue
string
{
"workflowId": "string",
"runId": "string",
"namespace": "string",
"workflowTaskQueue": "string",
"clusterTaskQueue": "string"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/refresh"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/refresh', {
method: 'POST'
});
const data = await response.json();
import requests
response = requests.post('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/inventory/refresh')
data = response.json()
Test Request
Parameters
organizationId
path
*
clusterId
path
*
POST
/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/upgrade-plans
Create a Kubernetes cluster upgrade plan
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| clusterId * | string | path | The Kubernetes cluster Id. |
Responses
202
Default Response
agentTaskId
string
runId
string
workflowId
string
status
string
{
"agentTaskId": "string",
"runId": "string",
"workflowId": "string",
"status": "queued"
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/upgrade-plans"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/upgrade-plans', {
method: 'POST'
});
const data = await response.json();
import requests
response = requests.post('https://api.hyphen.ai/api/organizations/{organizationId}/kubernetes/clusters/{clusterId}/upgrade-plans')
data = response.json()
Test Request
Parameters
organizationId
path
*
clusterId
path
*
GET
/api/organizations/{organizationId}/saleskit/promocodes/
Get SalesKit promo codes for the organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path |
Responses
200
Default Response
promoCodes
array(object)
{
"promoCodes": [
{
"code": "string",
"description": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/saleskit/promocodes/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/saleskit/promocodes/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/saleskit/promocodes/')
data = response.json()
Test Request
Parameters
organizationId
path
*
Access
GET
/api/organizations/{organizationId}/access/
Get a list of access for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| entityIds | array(any) | query | The entity Ids. |
| assignmentIds | array(any) | query | The assignment Ids. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of access for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(any)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
null
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/access/?pageNum={pageNum}&pageSize={pageSize}&entityIds={entityIds}&assignmentIds={assignmentIds}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/access/?pageNum={pageNum}&pageSize={pageSize}&entityIds={entityIds}&assignmentIds={assignmentIds}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/access/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'entityIds': '{entityIds}',
'assignmentIds': '{assignmentIds}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
entityIds
query
assignmentIds
query
organizationId
path
*
POST
/api/organizations/{organizationId}/access/
Create access for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
{}
Responses
201
Successfully created access for an organization
null
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/access/" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/access/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/access/',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/access/{accessId}/
Get the access for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| accessId * | string | path | The access Id. |
Responses
200
Successfully got the access for an organization
null
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
accessId
path
*
DELETE
/api/organizations/{organizationId}/access/{accessId}/
Delete the access for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| accessId * | string | path | The access Id. |
Responses
204
Successfully deleted the access for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
accessId
path
*
PATCH
/api/organizations/{organizationId}/access/{accessId}/
Update the access for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| accessId * | string | path | The access Id. |
Request Body application/json
roles*
oneOf
The roles for the assignment.
{
"roles": null
}
Responses
200
Successfully updated the access for an organization
null
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/" \
-H "Content-Type: application/json" \
-d '{ "roles": null}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "roles": null})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/access/{accessId}/',
headers={
'Content-Type': 'application/json'
},
json={ "roles": null}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
accessId
path
*
Body
Agent Tasks
GET
/api/organizations/{organizationId}/agent-tasks/
Get a list of agentTasks for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| status | string | query | Filter by agent task status. |
| startsAfter | string (date-time) | query | Filter for tasks that will run after this date. |
| endsBefore | string (date-time) | query | Filter for tasks that will run before this date. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully retrieved list of agent tasks
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"conversation": [
{
"role": "user",
"message": "string",
"sentAt": "string"
}
],
"description": "string",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"status": "pending",
"source": "policy",
"policyId": "string",
"organization": {
"id": "string",
"name": "string"
},
"references": [
{
"type": "Lead",
"id": "string"
}
],
"chatSessionId": "string",
"type": "Event",
"config": {}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/?pageNum={pageNum}&pageSize={pageSize}&status={status}&startsAfter={startsAfter}&endsBefore={endsBefore}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/?pageNum={pageNum}&pageSize={pageSize}&status={status}&startsAfter={startsAfter}&endsBefore={endsBefore}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'status': '{status}',
'startsAfter': '{startsAfter}',
'endsBefore': '{endsBefore}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
status
query
startsAfter
query
endsBefore
query
organizationId
path
*
POST
/api/organizations/{organizationId}/agent-tasks/
Create agent tasks
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
tasks*
array(object)
Array of agent tasks to create as a chain.
{
"tasks": [
{}
]
}
Responses
200
Successfully created agent tasks
tasks
array(object)
The agent tasks that were created.
{
"tasks": [
{
"id": "string",
"name": "string",
"conversation": [
{
"role": "user",
"message": "string",
"sentAt": "string"
}
],
"description": "string",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"status": "pending",
"source": "policy",
"policyId": "string",
"organization": {
"id": "string",
"name": "string"
},
"references": [
{
"type": "Lead",
"id": "string"
}
],
"chatSessionId": "string",
"type": "Event",
"config": {}
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/" \
-H "Content-Type: application/json" \
-d '{ "tasks": [ {} ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "tasks": [ {} ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/',
headers={
'Content-Type': 'application/json'
},
json={ "tasks": [ {} ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/
Get an agentTask by ID
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| agentTaskId * | string | path | The agentTask ID. |
Responses
200
Successfully retrieved agentTask
id
string
The agent task ID.
name
string
The name of the agent task.
conversation
array(object)
The conversation history for this agent task.
description
string
The description of the agent task.
scheduledStart
string (date-time)
The start of the scheduled agent task
scheduledEnd
string (date-time)
The end of the scheduled agent task
recurring
object
status
string
The current status of the agent task.
source
string
Whether the agent task was created by a user or policy machinery.
policyId
string
Most-specific explicit policy row that spawned this task, when one exists.
organization
object
references
array(object)
The references that provide context to this agent task.
chatSessionId
string
The ID of the chat session that originated this agent task, if created from a chat session.
type
string
The agent task type
config
object
The agent task config
{
"id": "string",
"name": "string",
"conversation": [
{
"role": "user",
"message": "string",
"sentAt": "string"
}
],
"description": "string",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"status": "pending",
"source": "policy",
"policyId": "string",
"organization": {
"id": "string",
"name": "string"
},
"references": [
{
"type": "Lead",
"id": "string"
}
],
"chatSessionId": "string",
"type": "Event",
"config": {}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
agentTaskId
path
*
DELETE
/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/
Delete an agentTask
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| agentTaskId * | string | path | The agentTask ID. |
Responses
204
Successfully deleted agent task
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
agentTaskId
path
*
Runs
GET
/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/runs
Get a list of runs for an agent task
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageSize | number | query | The page size. |
| pageCursor | string | query | The page cursor. |
| status | array(string) | query | |
| openPullRequestOnly | boolean | query | If true, only returns runs that have an open pull request. |
| organizationId * | string | path | The organization Id. |
| agentTaskId * | string | path | Filter runs by agent task ID. |
Responses
200
A cursor-paginated list of runs.
data
array(object)
pageSize
number
The page size.
nextPageCursor
string
The next page cursor.
{
"data": [
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"action": "connectionCreated",
"references": [
{
"type": "Lead",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"input": {
"key": "value"
},
"data": null,
"inputRequests": [
{}
]
}
],
"pageSize": 0,
"nextPageCursor": "run_67a3c68e9137f944f073fef8"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/runs?pageSize={pageSize}&pageCursor={pageCursor}&status={status}&openPullRequestOnly={openPullRequestOnly}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/runs?pageSize={pageSize}&pageCursor={pageCursor}&status={status}&openPullRequestOnly={openPullRequestOnly}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/agent-tasks/{agentTaskId}/runs',
params={
'pageSize': '{pageSize}',
'pageCursor': '{pageCursor}',
'status': '{status}',
'openPullRequestOnly': '{openPullRequestOnly}'
}
)
data = response.json()
Test Request
Parameters
pageSize
query
pageCursor
query
status
query
openPullRequestOnly
query
organizationId
path
*
agentTaskId
path
*
GET
/api/organizations/{organizationId}/apps/{appId}/runs/
Get runs for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| type | string | query | The run type. |
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
200
Run created successfully
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"action": "connectionCreated",
"references": [
{
"type": "Lead",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"input": {
"key": "value"
},
"data": null,
"inputRequests": [
{}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/?pageNum={pageNum}&pageSize={pageSize}&type={type}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/?pageNum={pageNum}&pageSize={pageSize}&type={type}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'type': '{type}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
type
query
organizationId
path
*
appId
path
*
POST
/api/organizations/{organizationId}/apps/{appId}/runs/
Create a run for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Request Body application/json
{}
Responses
200
Run created successfully
id
string
The unique identifier for the run.
organization
object
status
string
type
string
action
string
references
array(object)
workflowId
string
The identifier of the workflow associated with the run.
timing
object
The timing information for the run execution.
input
object
The input data for the run.
data
oneOf
inputRequests
array(object)
Input requests issued during the run, including any responses.
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"action": "connectionCreated",
"references": [
{
"type": "Lead",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"input": {
"key": "value"
},
"data": null,
"inputRequests": [
{}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
Body
GET
/api/organizations/{organizationId}/apps/{appId}/runs/{runId}/
Get a run by Id for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
| runId * | string | path | The run Id. |
Responses
200
Default Response
id
string
The unique identifier for the run.
organization
object
status
string
type
string
action
string
references
array(object)
workflowId
string
The identifier of the workflow associated with the run.
timing
object
The timing information for the run execution.
input
object
The input data for the run.
data
oneOf
inputRequests
array(object)
Input requests issued during the run, including any responses.
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"action": "connectionCreated",
"references": [
{
"type": "Lead",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"input": {
"key": "value"
},
"data": null,
"inputRequests": [
{}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/{runId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/{runId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/{runId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
runId
path
*
GET
/api/organizations/{organizationId}/runs/
Get runs for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| type | array(string) | query | Filter runs by type. |
| status | array(string) | query | |
| referenceIds | array(string) | query | Filter by entity IDs referenced by a run. Matches any supplied ID. |
| organizationId * | string | path | The organization Id. |
Responses
200
A paginated list of runs.
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"action": "connectionCreated",
"references": [
{
"type": "Lead",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"input": {
"key": "value"
},
"data": null,
"inputRequests": [
{}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/runs/?pageNum={pageNum}&pageSize={pageSize}&type={type}&status={status}&referenceIds={referenceIds}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/runs/?pageNum={pageNum}&pageSize={pageSize}&type={type}&status={status}&referenceIds={referenceIds}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/runs/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'type': '{type}',
'status': '{status}',
'referenceIds': '{referenceIds}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
type
query
status
query
referenceIds
query
organizationId
path
*
GET
/api/organizations/{organizationId}/runs/{runId}/
Get a run by Id
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| runId * | string | path | The run Id. |
Responses
200
Default Response
id
string
The unique identifier for the run.
organization
object
status
string
type
string
references
array(object)
workflowId
string
The identifier of the workflow associated with the run.
timing
object
The timing information for the run execution.
input
object
The input data for the run.
inputRequests
array(object)
Input requests issued during the run, including any responses.
data
oneOf
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"references": [
{
"type": "Lead",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"input": {
"key": "value"
},
"inputRequests": [
{}
],
"data": null
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/runs/{runId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/runs/{runId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/runs/{runId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
runId
path
*
POST
/api/organizations/{organizationId}/runs/{runId}/inputRequests/{inputRequestId}/response
Create a response for an input request
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| runId * | string | path | The run Id. |
| inputRequestId * | string (ObjectId) | path | The input request Id. |
Request Body application/json
{}
Responses
202
The response was accepted.
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/runs/{runId}/inputRequests/{inputRequestId}/response" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/runs/{runId}/inputRequests/{inputRequestId}/response', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/runs/{runId}/inputRequests/{inputRequestId}/response',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
runId
path
*
inputRequestId
path
*
Body
API Keys
GET
/api/organizations/{organizationId}/api-keys/
Get a list of API keys for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| name | string | query | Filter by api key name starts with (case insensitive) |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of API keys for an organization
data
array(object)
total
number
pageNum
number
pageSize
number
{
"data": [
{
"id": "string",
"name": "string",
"createdAt": "string",
"memberId": "string",
"secrets": [
{
"id": "string",
"hint": "string",
"lastUsed": "string"
}
],
"roles": [
"string"
]
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/?name={name}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/?name={name}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/',
params={
'name': '{name}'
}
)
data = response.json()
Test Request
Parameters
name
query
organizationId
path
*
POST
/api/organizations/{organizationId}/api-keys/
Create an API key for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
name*
string
Friendly and descriptive name for the API key.
{
"name": "string"
}
Responses
201
Successfully created an API key for an organization
id
string
Identifier for the API Key used to modify or delete the API Key.
name
string
Friendly and descriptive name for the API key.
createdAt
string
The time the API key was created.
memberId
string
The ID of the member associated with this API key
secrets
array(object)
{
"id": "string",
"name": "string",
"createdAt": "string",
"memberId": "string",
"secrets": [
{
"id": "string",
"hint": "string",
"lastUsed": "string",
"value": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/" \
-H "Content-Type: application/json" \
-d '{ "name": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/api-keys/{apiKeyId}/
Get an API key for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| apiKeyId * | string | path | The API Key ID |
Responses
200
Successfully got an API key for an organization
id
string
Identifier for the API Key used to modify or delete the API Key.
name
string
Friendly and descriptive name for the API key.
createdAt
string
The time the API key was created.
memberId
string
The ID of the member associated with this API key
secrets
array(object)
roles
array(string)
{
"id": "string",
"name": "string",
"createdAt": "string",
"memberId": "string",
"secrets": [
{
"id": "string",
"hint": "string",
"lastUsed": "string"
}
],
"roles": [
"string"
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
apiKeyId
path
*
DELETE
/api/organizations/{organizationId}/api-keys/{apiKeyId}/
Delete an API key for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| apiKeyId * | string | path | The API Key ID |
Responses
204
Successfully deleted an API key for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
apiKeyId
path
*
PUT
/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/
Create a secret for an API Key
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| apiKeyId * | string | path | The API Key ID |
Responses
200
Successfully created a secret for an API Key
id
string
Identifier for the secret used to delete the secret.
hint
string
Last four characters of the secrete, helpful for identifying which API key is being used.
lastUsed
string
The last time this secret was used to authenticate.
value
string
The secret
{
"id": "string",
"hint": "string",
"lastUsed": "string",
"value": "string"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PUT "https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/', {
method: 'PUT'
});
const data = await response.json();
import requests
response = requests.put('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/')
data = response.json()
Test Request
Parameters
organizationId
path
*
apiKeyId
path
*
DELETE
/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/{secretId}
Delete a secret for an API key
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| apiKeyId * | string | path | The API Key ID |
| secretId * | string | path | The API Key Secret ID |
Responses
204
Successfully deleted a secret for an API key
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/{secretId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/{secretId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/{secretId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
apiKeyId
path
*
secretId
path
*
Apps
GET
/api/organizations/{organizationId}/apps/
Get a list of apps for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| projectIds | array(string) | query | The project Ids or alternate Ids. |
| appIds | array(string) | query | The app Ids or alternate Ids |
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of apps for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "app_66bf99b72a0043f841769880",
"alternateId": "my-app",
"name": "My App",
"settings": {
"env": {
"accessControls": {
"environments": {
"production": {
"allow": [
{
"description": "Prod servers",
"type": "cidr",
"cidr": "10.10.0.0/16"
}
],
"deny": [
{
"description": "Block all",
"type": "cidr",
"cidr": "0.0.0.0/0"
}
]
}
}
}
}
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/?projectIds={projectIds}&appIds={appIds}&pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/?projectIds={projectIds}&appIds={appIds}&pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/',
params={
'projectIds': '{projectIds}',
'appIds': '{appIds}',
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
projectIds
query
appIds
query
pageNum
query
pageSize
query
organizationId
path
*
GET
/api/organizations/{organizationId}/apps/{appId}/
Get the app for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
200
Successfully got the app for an organization
id
string
The app Id.
alternateId
string
The app alternate id. This id is set by the user and can be used to retrieve an app.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "projects", "apps", "environments" or "envs".
name
string
The app name.
Must have a length between 1 and 100 characters.
settings
object
The app settings.
organization
object
project
object
meta
object
{
"id": "app_66bf99b72a0043f841769880",
"alternateId": "my-app",
"name": "My App",
"settings": {
"env": {
"accessControls": {
"environments": {
"production": {
"allow": [
{
"description": "Prod servers",
"type": "cidr",
"cidr": "10.10.0.0/16"
}
],
"deny": [
{
"description": "Block all",
"type": "cidr",
"cidr": "0.0.0.0/0"
}
]
}
}
}
}
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
DELETE
/api/organizations/{organizationId}/apps/{appId}/
Delete the app for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
204
Successfully deleted the app for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
PATCH
/api/organizations/{organizationId}/apps/{appId}/
Update the app for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Request Body application/json
name
string
The app name.
Must have a length between 1 and 100 characters.
settings
object
The app settings.
{
"name": "My App",
"settings": {
"env": {
"accessControls": {
"allow": [],
"deny": [
{
"type": "cidr",
"description": "Deny all default",
"value": "0.0.0.0/0"
}
],
"environments": {
"production": {
"allow": [
{
"type": "cidr",
"description": "Prod servers",
"value": "10.10.0.0/16"
}
],
"deny": []
}
}
}
}
}
}
Responses
200
Successfully updated the app for an organization
id
string
The app Id.
alternateId
string
The app alternate id. This id is set by the user and can be used to retrieve an app.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "projects", "apps", "environments" or "envs".
name
string
The app name.
Must have a length between 1 and 100 characters.
settings
object
The app settings.
organization
object
project
object
meta
object
{
"id": "app_66bf99b72a0043f841769880",
"alternateId": "my-app",
"name": "My App",
"settings": {
"env": {
"accessControls": {
"environments": {
"production": {
"allow": [
{
"description": "Prod servers",
"type": "cidr",
"cidr": "10.10.0.0/16"
}
],
"deny": [
{
"description": "Block all",
"type": "cidr",
"cidr": "0.0.0.0/0"
}
]
}
}
}
}
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/" \
-H "Content-Type: application/json" \
-d '{ "name": "My App", "settings": { "env": { "accessControls": { "allow": [], "deny": [ { "type": "cidr", "description": "Deny all default", "value": "0.0.0.0/0" } ], "environments": { "production": { "allow": [ { "type": "cidr", "description": "Prod servers", "value": "10.10.0.0/16" } ], "deny": [] } } } } }}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "My App", "settings": { "env": { "accessControls": { "allow": [], "deny": [ { "type": "cidr", "description": "Deny all default", "value": "0.0.0.0/0" } ], "environments": { "production": { "allow": [ { "type": "cidr", "description": "Prod servers", "value": "10.10.0.0/16" } ], "deny": [] } } } } }})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "My App", "settings": { "env": { "accessControls": { "allow": [], "deny": [ { "type": "cidr", "description": "Deny all default", "value": "0.0.0.0/0" } ], "environments": { "production": { "allow": [ { "type": "cidr", "description": "Prod servers", "value": "10.10.0.0/16" } ], "deny": [] } } } } }}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
Body
POST
/api/organizations/{organizationId}/apps/{appId}/dockerfile/
Create or continue a Dockerfile and dockerignore generation session for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Request Body application/json
sessionId
string
results
array(object)
{
"sessionId": "string",
"results": [
{
"tool_call_id": "string",
"output": null,
"error": "string"
}
]
}
Responses
200
Successfully continued the Dockerfile and dockerignore generation session.
session_id
string
provider
string
model
string
conversation_mode
string
status
string
finish_reason
null,string
message
object
{
"session_id": "string",
"provider": "string",
"model": "string",
"conversation_mode": "provider_native",
"status": "ready",
"finish_reason": null,
"message": {
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
]
}
}
201
Successfully started the Dockerfile and dockerignore generation session.
session
object
output
object
{
"session": {
"id": "string",
"provider": "string",
"model": "string",
"conversation_mode": "provider_native",
"status": "ready",
"metadata": {
"key": "value"
},
"provider_session_id": null,
"provider_cursor": null,
"pending_tool_calls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"created_at": "string",
"updated_at": "string",
"last_error": null
},
"output": {
"session_id": "string",
"provider": "string",
"model": "string",
"conversation_mode": "provider_native",
"status": "ready",
"finish_reason": null,
"message": {
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
]
}
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dockerfile/" \
-H "Content-Type: application/json" \
-d '{ "sessionId": "string", "results": [ { "tool_call_id": "string", "output": null, "error": "string" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dockerfile/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "sessionId": "string", "results": [ { "tool_call_id": "string", "output": null, "error": "string" } ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dockerfile/',
headers={
'Content-Type': 'application/json'
},
json={ "sessionId": "string", "results": [ { "tool_call_id": "string", "output": null, "error": "string" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
Body
GET
/api/organizations/{organizationId}/apps/{appId}/environments/
Get a list of environments for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
200
Successfully got a list of environments for an app
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "env_66bf99b72a0043f841769880",
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/environments/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/environments/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/environments/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
appId
path
*
GET
/api/organizations/{organizationId}/apps/{appId}/environments/{environmentId}/
Get the environment for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
| environmentId * | string | path | The environment Id or alternate Id. |
Responses
200
Successfully got the environment for an app
id
string
The environment Id.
alternateId
string
The environment alternate id. This id is set by the user and can be used to retrieve an environment.
Must be unique within the project.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
color
string
The environment color.
Must be a valid hex color.
name
string
The environment name. Must be unique within the project.
Must have a length between 1 and 100 characters.
type
string
The environment type. Only one environment of type "development" or "production" is allowed per project
organization
object
project
object
{
"id": "env_66bf99b72a0043f841769880",
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/environments/{environmentId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/environments/{environmentId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/environments/{environmentId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
environmentId
path
*
POST
/api/organizations/{organizationId}/projects/{projectId}/apps/
Create an app for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Request Body application/json
alternateId*
string
The app alternate id. This id is set by the user and can be used to retrieve an app.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "projects", "apps", "environments" or "envs".
name*
string
The app name.
Must have a length between 1 and 100 characters.
{
"alternateId": "my-app",
"name": "My App"
}
Responses
201
Successfully created an app for a project
id
string
The app Id.
alternateId
string
The app alternate id. This id is set by the user and can be used to retrieve an app.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "projects", "apps", "environments" or "envs".
name
string
The app name.
Must have a length between 1 and 100 characters.
settings
object
The app settings.
organization
object
project
object
meta
object
{
"id": "app_66bf99b72a0043f841769880",
"alternateId": "my-app",
"name": "My App",
"settings": {
"env": {
"accessControls": {
"environments": {
"production": {
"allow": [
{
"description": "Prod servers",
"type": "cidr",
"cidr": "10.10.0.0/16"
}
],
"deny": [
{
"description": "Block all",
"type": "cidr",
"cidr": "0.0.0.0/0"
}
]
}
}
}
}
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/apps/" \
-H "Content-Type: application/json" \
-d '{ "alternateId": "my-app", "name": "My App"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/apps/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "alternateId": "my-app", "name": "My App"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/apps/',
headers={
'Content-Type': 'application/json'
},
json={ "alternateId": "my-app", "name": "My App"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
Body
App Builds
POST
/api/organizations/{organizationId}/apps/{appId}/builds/uploads
Authorize a short-lived site upload
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Request Body application/json
registryId*
string
revision
string
environmentId
string
previewHash
string
files*
array(object)
{
"registryId": "string",
"revision": "string",
"environmentId": "string",
"previewHash": "string",
"files": [
{
"path": "string",
"size": 0,
"sha256": "string"
}
]
}
Responses
200
Default Response
null
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/builds/uploads" \
-H "Content-Type: application/json" \
-d '{ "registryId": "string", "revision": "string", "environmentId": "string", "previewHash": "string", "files": [ { "path": "string", "size": 0, "sha256": "string" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/builds/uploads', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "registryId": "string", "revision": "string", "environmentId": "string", "previewHash": "string", "files": [ { "path": "string", "size": 0, "sha256": "string" } ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/builds/uploads',
headers={
'Content-Type': 'application/json'
},
json={ "registryId": "string", "revision": "string", "environmentId": "string", "previewHash": "string", "files": [ { "path": "string", "size": 0, "sha256": "string" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
Body
.Env Files
GET
/api/organizations/{organizationId}/apps/{appId}/dot-env/
Get the .env file for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| environmentId | string | query | The environment Id. If not provided, the default "all" environment will be used. |
| secretKeyId | number | query | The secret key id used to encrypt the env file. |
| version | number | query | The version of the .env file. |
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
200
Successfully got the latest .env file for an app
size
string
The size of the .env file.
countVariables
number
The number of variables in the .env file.
version
number
The version of the .env file.
secretKeyId
number
The secret key id used to encrypt the .env file.
published
string (date-time)
The date the .env file was published.
organization
object
project
object
app
object
projectEnvironment
object
data
string
The encrypted content of the env file.
{
"size": "1kb",
"countVariables": 1,
"version": 1,
"secretKeyId": 123,
"published": "2024-01-01T00:00:00Z",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"data": "encrypted content"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/?environmentId={environmentId}&secretKeyId={secretKeyId}&version={version}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/?environmentId={environmentId}&secretKeyId={secretKeyId}&version={version}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/',
params={
'environmentId': '{environmentId}',
'secretKeyId': '{secretKeyId}',
'version': '{version}'
}
)
data = response.json()
Test Request
Parameters
environmentId
query
secretKeyId
query
version
query
organizationId
path
*
appId
path
*
PUT
/api/organizations/{organizationId}/apps/{appId}/dot-env/
Replace the latest .env file for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| environmentId | string | query | The environment Id. If not provided, the default "all" environment will be used. |
| secretKeyId * | number | query | The secret key id used to encrypt the env file. |
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Request Body application/json
countVariables*
number
The number of variables in the .env file.
size*
string
The size of the .env file.
data*
string
The encrypted content of the env file.
version*
number
The version of the .env file.
secretKeyId*
number
The secret key id used to encrypt the .env file.
{
"countVariables": 1,
"size": "1kb",
"data": "encrypted content",
"version": 1,
"secretKeyId": 123
}
Responses
201
Successfully replaced the latest .env file for an app
size
string
The size of the .env file.
countVariables
number
The number of variables in the .env file.
version
number
The version of the .env file.
secretKeyId
number
The secret key id used to encrypt the .env file.
published
string (date-time)
The date the .env file was published.
organization
object
project
object
app
object
projectEnvironment
object
data
string
The encrypted content of the env file.
{
"size": "1kb",
"countVariables": 1,
"version": 1,
"secretKeyId": 123,
"published": "2024-01-01T00:00:00Z",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"data": "encrypted content"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PUT "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/?environmentId={environmentId}&secretKeyId={secretKeyId}" \
-H "Content-Type: application/json" \
-d '{ "countVariables": 1, "size": "1kb", "data": "encrypted content", "version": 1, "secretKeyId": 123}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/?environmentId={environmentId}&secretKeyId={secretKeyId}', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "countVariables": 1, "size": "1kb", "data": "encrypted content", "version": 1, "secretKeyId": 123})
});
const data = await response.json();
import requests
response = requests.put(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/',
params={
'environmentId': '{environmentId}',
'secretKeyId': '{secretKeyId}'
},
headers={
'Content-Type': 'application/json'
},
json={ "countVariables": 1, "size": "1kb", "data": "encrypted content", "version": 1, "secretKeyId": 123}
)
data = response.json()
Test Request
Parameters
environmentId
query
secretKeyId
query
*
organizationId
path
*
appId
path
*
Body
DELETE
/api/organizations/{organizationId}/apps/{appId}/dot-env/
Delete the .env file for an app
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| environmentId | string | query | The environment Id. If not provided, the default "all" environment will be used. |
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
204
Successfully deleted the .env file for an app
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/?environmentId={environmentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/?environmentId={environmentId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/',
params={
'environmentId': '{environmentId}'
}
)
data = response.json()
Test Request
Parameters
environmentId
query
organizationId
path
*
appId
path
*
GET
/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/
Get a list of versions for an .env file
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| environmentId | string | query | The environment Id. If not provided, the default "all" environment will be used. |
| secretKeyId | number | query | The secret key id used to encrypt the env file. |
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
200
Successfully got a list of versions for .env file
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"size": "1kb",
"countVariables": 1,
"version": 1,
"secretKeyId": 123,
"published": "2024-01-01T00:00:00Z",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/?pageNum={pageNum}&pageSize={pageSize}&environmentId={environmentId}&secretKeyId={secretKeyId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/?pageNum={pageNum}&pageSize={pageSize}&environmentId={environmentId}&secretKeyId={secretKeyId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'environmentId': '{environmentId}',
'secretKeyId': '{secretKeyId}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
environmentId
query
secretKeyId
query
organizationId
path
*
appId
path
*
DELETE
/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/
Deleted a list of versions for an .env file
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| environmentId | string | query | The environment Id. If not provided, the default "all" environment will be used. |
| secretKeyId * | number | query | The secret key id used to encrypt the env file. |
| organizationId * | string | path | The organization Id. |
| appId * | string | path | The app Id or alternate Id. |
Responses
204
Successfully deleted a list of versions for an .env file
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/?environmentId={environmentId}&secretKeyId={secretKeyId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/?environmentId={environmentId}&secretKeyId={secretKeyId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete(
'https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/',
params={
'environmentId': '{environmentId}',
'secretKeyId': '{secretKeyId}'
}
)
data = response.json()
Test Request
Parameters
environmentId
query
secretKeyId
query
*
organizationId
path
*
appId
path
*
GET
/api/organizations/{organizationId}/dot-envs/
Get a list of the latest .env files for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| projectIds | array(string) | query | The project Ids or alternate Ids. |
| appIds | array(string) | query | The app Ids or alternate Ids. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of the latest .env files for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"size": "1kb",
"countVariables": 1,
"version": 1,
"secretKeyId": 123,
"published": "2024-01-01T00:00:00Z",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/dot-envs/?pageNum={pageNum}&pageSize={pageSize}&projectIds={projectIds}&appIds={appIds}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/dot-envs/?pageNum={pageNum}&pageSize={pageSize}&projectIds={projectIds}&appIds={appIds}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/dot-envs/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'projectIds': '{projectIds}',
'appIds': '{appIds}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
projectIds
query
appIds
query
organizationId
path
*
GET
/api/organizations/{organizationId}/dot-envs/summary
Get a summary of .env usage for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| projectIds | array(string) | query | The project Ids. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully retrieved environment summary for the organization
data
array(object)
{
"data": [
{
"id": "string",
"alternateId": "string",
"name": "string",
"apps": [
{
"id": "string",
"alternateId": "string",
"name": "string",
"dotEnvData": {},
"lastEvents": {
"push": {
"timestamp": "string",
"member": {
"id": "string",
"name": "string"
}
},
"pull": {
"timestamp": "string",
"member": {
"id": "string",
"name": "string"
}
},
"deny": {
"timestamp": "string",
"member": {
"id": "string",
"name": "string"
}
}
}
}
],
"projectEnvironments": [
{
"id": "string",
"alternateId": "string",
"name": "string",
"color": "string",
"type": "development"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/dot-envs/summary?projectIds={projectIds}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/dot-envs/summary?projectIds={projectIds}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/dot-envs/summary',
params={
'projectIds': '{projectIds}'
}
)
data = response.json()
Test Request
Parameters
projectIds
query
organizationId
path
*
Chat Sessions
GET
/api/organizations/{organizationId}/chat-sessions/
List chat sessions for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| status | array(string) | query | |
| hasCreatedReferences | boolean | query | |
| organizationId * | string | path | The organization Id. |
Responses
200
A paginated list of chat sessions.
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"title": "string",
"status": "ready",
"createdByMemberId": null,
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string",
"name": "string",
"origin": "context",
"messageId": "string",
"createdAt": "string"
}
],
"createdAt": "string",
"updatedAt": "string",
"lastMessageAt": null,
"lastMessagePreview": null,
"displayMessageCount": 0,
"lastError": null,
"pendingToolCalls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"activeResponder": "agent",
"supportHandoffs": [
null
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/?pageNum={pageNum}&pageSize={pageSize}&status={status}&hasCreatedReferences={hasCreatedReferences}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/?pageNum={pageNum}&pageSize={pageSize}&status={status}&hasCreatedReferences={hasCreatedReferences}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'status': '{status}',
'hasCreatedReferences': '{hasCreatedReferences}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
status
query
hasCreatedReferences
query
organizationId
path
*
POST
/api/organizations/{organizationId}/chat-sessions/
Create a new chat session for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
content
string
attachmentIds
array(string)
clientMessageId
string (uuid)
references
array(object)
system_instruction
string
tools
array(object)
toolsets
array(string)
{
"content": "string",
"attachmentIds": [
"string"
],
"clientMessageId": "string",
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string"
}
],
"system_instruction": "string",
"tools": [
{
"type": "function",
"function": {
"name": "string",
"short_description": "string",
"description": "string",
"parameters": {
"key": "value"
}
}
}
],
"toolsets": [
"file-system-tools"
]
}
Responses
201
Default Response
session
object
message
object
{
"session": {
"id": "string",
"title": "string",
"status": "ready",
"createdByMemberId": null,
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string",
"name": "string",
"origin": "context",
"messageId": "string",
"createdAt": "string"
}
],
"createdAt": "string",
"updatedAt": "string",
"lastMessageAt": null,
"lastMessagePreview": null,
"displayMessageCount": 0,
"lastError": null,
"pendingToolCalls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"activeResponder": "agent",
"supportHandoffs": [
null
]
},
"message": {
"id": "string",
"sessionId": "string",
"role": "user",
"content": null,
"contentBlocks": [
null
],
"files": [
{
"id": "string",
"filename": "string",
"mimeType": "string",
"sizeBytes": 0,
"downloadUrl": "string",
"expiresAt": "string"
}
],
"createdAt": "string",
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string",
"name": "string",
"origin": "context",
"messageId": "string",
"createdAt": "string"
}
],
"inputRequests": [
{}
],
"toolCalls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"author": {
"type": "member",
"name": "string"
},
"clientMessageId": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/" \
-H "Content-Type: application/json" \
-d '{ "content": "string", "attachmentIds": [ "string" ], "clientMessageId": "string", "references": [ { "type": "Lead", "id": "string", "reportId": "string" } ], "system_instruction": "string", "tools": [ { "type": "function", "function": { "name": "string", "short_description": "string", "description": "string", "parameters": { "key": "value" } } } ], "toolsets": [ "file-system-tools" ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "content": "string", "attachmentIds": [ "string" ], "clientMessageId": "string", "references": [ { "type": "Lead", "id": "string", "reportId": "string" } ], "system_instruction": "string", "tools": [ { "type": "function", "function": { "name": "string", "short_description": "string", "description": "string", "parameters": { "key": "value" } } } ], "toolsets": [ "file-system-tools" ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/',
headers={
'Content-Type': 'application/json'
},
json={ "content": "string", "attachmentIds": [ "string" ], "clientMessageId": "string", "references": [ { "type": "Lead", "id": "string", "reportId": "string" } ], "system_instruction": "string", "tools": [ { "type": "function", "function": { "name": "string", "short_description": "string", "description": "string", "parameters": { "key": "value" } } } ], "toolsets": [ "file-system-tools" ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
POST
/api/organizations/{organizationId}/chat-sessions/uploads
Upload a file for chat context
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body multipart/form-data
file*
string (binary)
{
"file": "string"
}
Responses
201
Default Response
id
string (uuid)
filename
string
mimeType
string
sizeBytes
integer
expiresAt
string (date-time)
{
"id": "string",
"filename": "string",
"mimeType": "string",
"sizeBytes": 0,
"expiresAt": "string"
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
413
The upload exceeds the file size or multipart limits.
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/uploads" \
-H "Content-Type: multipart/form-data" \
-d '{ "file": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/uploads', {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data'
},
body: JSON.stringify({ "file": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/uploads',
headers={
'Content-Type': 'multipart/form-data'
},
json={ "file": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/chat-sessions/{sessionId}/files/{fileId}
Download a chat session file
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| sessionId * | string | path | The chat session ID. |
| fileId * | string (uuid) | path |
Responses
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/files/{fileId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/files/{fileId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/files/{fileId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
sessionId
path
*
fileId
path
*
GET
/api/organizations/{organizationId}/chat-sessions/{sessionId}/
Get a chat session
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| sessionId * | string | path | The chat session ID. |
Responses
200
Default Response
id
string
The chat session ID.
title
string
status
string
createdByMemberId
null,string
references
array(object)
createdAt
string (date-time)
updatedAt
string (date-time)
lastMessageAt
null,string (date-time)
lastMessagePreview
null,string
displayMessageCount
integer
lastError
null,string
pendingToolCalls
array(object)
activeResponder
string
supportHandoffs
array(any)
{
"id": "string",
"title": "string",
"status": "ready",
"createdByMemberId": null,
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string",
"name": "string",
"origin": "context",
"messageId": "string",
"createdAt": "string"
}
],
"createdAt": "string",
"updatedAt": "string",
"lastMessageAt": null,
"lastMessagePreview": null,
"displayMessageCount": 0,
"lastError": null,
"pendingToolCalls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"activeResponder": "agent",
"supportHandoffs": [
null
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
sessionId
path
*
DELETE
/api/organizations/{organizationId}/chat-sessions/{sessionId}/
Close a chat session
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| sessionId * | string | path | The chat session ID. |
Responses
204
Successfully closed chat session
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
sessionId
path
*
GET
/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/
Get the display transcript for a chat session
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| sessionId * | string | path | The chat session ID. |
Responses
200
Default Response
sessionId
string
messages
array(object)
{
"sessionId": "string",
"messages": [
{
"id": "string",
"sessionId": "string",
"role": "user",
"content": null,
"contentBlocks": [
null
],
"files": [
{
"id": "string",
"filename": "string",
"mimeType": "string",
"sizeBytes": 0,
"downloadUrl": "string",
"expiresAt": "string"
}
],
"createdAt": "string",
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string",
"name": "string",
"origin": "context",
"messageId": "string",
"createdAt": "string"
}
],
"inputRequests": [
{}
],
"toolCalls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"author": {
"type": "member",
"name": "string"
},
"clientMessageId": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/')
data = response.json()
Test Request
Parameters
organizationId
path
*
sessionId
path
*
POST
/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/
Send a message to an existing chat session
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| sessionId * | string | path | The chat session ID. |
Request Body application/json
{}
Responses
200
Default Response
session
object
message
object
{
"session": {
"id": "string",
"title": "string",
"status": "ready",
"createdByMemberId": null,
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string",
"name": "string",
"origin": "context",
"messageId": "string",
"createdAt": "string"
}
],
"createdAt": "string",
"updatedAt": "string",
"lastMessageAt": null,
"lastMessagePreview": null,
"displayMessageCount": 0,
"lastError": null,
"pendingToolCalls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"activeResponder": "agent",
"supportHandoffs": [
null
]
},
"message": {
"id": "string",
"sessionId": "string",
"role": "user",
"content": null,
"contentBlocks": [
null
],
"files": [
{
"id": "string",
"filename": "string",
"mimeType": "string",
"sizeBytes": 0,
"downloadUrl": "string",
"expiresAt": "string"
}
],
"createdAt": "string",
"references": [
{
"type": "Lead",
"id": "string",
"reportId": "string",
"name": "string",
"origin": "context",
"messageId": "string",
"createdAt": "string"
}
],
"inputRequests": [
{}
],
"toolCalls": [
{
"id": "string",
"type": "function",
"function": {
"name": "string",
"arguments": "string"
}
}
],
"author": {
"type": "member",
"name": "string"
},
"clientMessageId": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/chat-sessions/{sessionId}/messages/',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
sessionId
path
*
Body
Deployments
GET
/api/organizations/{organizationId}/deployments/
Get a list of deployments for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| projects | array(any) | query | The project ids to filter by. |
| apps | array(any) | query | The app ids to filter by. |
| search | string | query | The search by name, id, or alternate id. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of deployments for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/?pageNum={pageNum}&pageSize={pageSize}&projects={projects}&apps={apps}&search={search}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/?pageNum={pageNum}&pageSize={pageSize}&projects={projects}&apps={apps}&search={search}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'projects': '{projects}',
'apps': '{apps}',
'search': '{search}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
projects
query
apps
query
search
query
organizationId
path
*
POST
/api/organizations/{organizationId}/deployments/
Create a new deployment
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
sites
array(object)
name*
string
The name of the deployment.
alternateId*
string
The deployment alternate id. This id is set by the user and can be used to retrieve a deployment.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the words "test" or "demo".
description
string
The description of the deployment.
project*
object
The project associated with the deployment.
projectEnvironment*
object
The project environment associated with the deployment.
apps*
array(object)
The projects associated with the deployment.
storage
array(object)
The storage configurations associated with the deployment.
{
"sites": [
{
"app": {
"id": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string"
}
]
}
}
],
"name": "string",
"alternateId": "string",
"description": "string",
"project": {
"id": "string"
},
"projectEnvironment": {
"id": "string"
},
"apps": [
{
"app": {
"id": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
}
}
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
}
Responses
201
Successfully created a deployment for an organization
id
string
The deployment Id.
name
string
The name of the deployment.
alternateId
string
The alternate ID of the deployment.
description
string
The description of the deployment.
organization
object
project
object
projectEnvironment
object
apps
array(object)
The projects associated with the deployment.
sites
array(object)
The websites associated with the deployment.
isReady
boolean
Whether the deployment has all required connections ready for deployment.
readinessIssues
array(object)
List of issues preventing the deployment from being ready.
previews
array(object)
The preview deployments associated with the deployment.
storage
array(object)
The storage configurations associated with the deployment.
{
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/" \
-H "Content-Type: application/json" \
-d '{ "sites": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string" } ] } } ], "name": "string", "alternateId": "string", "description": "string", "project": { "id": "string" }, "projectEnvironment": { "id": "string" }, "apps": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string", "type": "string" } ], "path": "string", "hostname": "string", "dns": { "zoneName": "string", "zoneId": "string", "recordId": "string", "recordValueId": "string" }, "availability": "99.000", "scale": "small", "trafficRegions": [ "na" ], "advanced": { "scale": { "googleCloud": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "azure": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "aws": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } } } } } } ], "storage": [ { "type": "object", "target": { "id": "string", "type": "googleCloud" }, "bucketName": "string" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "sites": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string" } ] } } ], "name": "string", "alternateId": "string", "description": "string", "project": { "id": "string" }, "projectEnvironment": { "id": "string" }, "apps": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string", "type": "string" } ], "path": "string", "hostname": "string", "dns": { "zoneName": "string", "zoneId": "string", "recordId": "string", "recordValueId": "string" }, "availability": "99.000", "scale": "small", "trafficRegions": [ "na" ], "advanced": { "scale": { "googleCloud": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "azure": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "aws": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } } } } } } ], "storage": [ { "type": "object", "target": { "id": "string", "type": "googleCloud" }, "bucketName": "string" } ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/',
headers={
'Content-Type': 'application/json'
},
json={ "sites": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string" } ] } } ], "name": "string", "alternateId": "string", "description": "string", "project": { "id": "string" }, "projectEnvironment": { "id": "string" }, "apps": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string", "type": "string" } ], "path": "string", "hostname": "string", "dns": { "zoneName": "string", "zoneId": "string", "recordId": "string", "recordValueId": "string" }, "availability": "99.000", "scale": "small", "trafficRegions": [ "na" ], "advanced": { "scale": { "googleCloud": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "azure": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "aws": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } } } } } } ], "storage": [ { "type": "object", "target": { "id": "string", "type": "googleCloud" }, "bucketName": "string" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/deployments/containerRegistries
Get the list of container registries
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| projectId | string | query | The project id. |
| organizationId * | string | path | The organization Id. |
Responses
200
The container registry connections for the organization
(items)
object
[
{
"id": "string",
"name": "string",
"url": "string",
"auth": {
"server": "string",
"username": "string",
"password": "string"
},
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
]
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/containerRegistries?projectId={projectId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/containerRegistries?projectId={projectId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/containerRegistries',
params={
'projectId': '{projectId}'
}
)
data = response.json()
Test Request
Parameters
projectId
query
organizationId
path
*
GET
/api/organizations/{organizationId}/deployments/{deploymentId}
Get a deployment by id
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
Responses
200
Successfully got deployment for an organization
id
string
The deployment Id.
name
string
The name of the deployment.
alternateId
string
The alternate ID of the deployment.
description
string
The description of the deployment.
organization
object
project
object
projectEnvironment
object
apps
array(object)
The projects associated with the deployment.
sites
array(object)
The websites associated with the deployment.
isReady
boolean
Whether the deployment has all required connections ready for deployment.
readinessIssues
array(object)
List of issues preventing the deployment from being ready.
previews
array(object)
The preview deployments associated with the deployment.
storage
array(object)
The storage configurations associated with the deployment.
{
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
DELETE
/api/organizations/{organizationId}/deployments/{deploymentId}
Delete a deployment
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
Responses
204
Successfully deleted deployment
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
PATCH
/api/organizations/{organizationId}/deployments/{deploymentId}
Update a deployment by id
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
Request Body application/json
sites
array(object)
name
string
The name of the deployment.
description
string
The description of the deployment.
apps
array(object)
The apps associated with the deployment.
storage
array(object)
The storage configurations associated with the deployment.
{
"sites": [
{
"app": {
"id": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string"
}
]
}
}
],
"name": "string",
"description": "string",
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
}
}
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
}
Responses
200
Successfully updated deployment for an organization
id
string
The deployment Id.
name
string
The name of the deployment.
alternateId
string
The alternate ID of the deployment.
description
string
The description of the deployment.
organization
object
project
object
projectEnvironment
object
apps
array(object)
The projects associated with the deployment.
sites
array(object)
The websites associated with the deployment.
isReady
boolean
Whether the deployment has all required connections ready for deployment.
readinessIssues
array(object)
List of issues preventing the deployment from being ready.
previews
array(object)
The preview deployments associated with the deployment.
storage
array(object)
The storage configurations associated with the deployment.
{
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}" \
-H "Content-Type: application/json" \
-d '{ "sites": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string" } ] } } ], "name": "string", "description": "string", "apps": [ { "project": { "id": "string", "alternateId": "string", "name": "string" }, "app": { "id": "string", "alternateId": "string", "name": "string" }, "deploymentSettings": { "targets": [ { "id": "string", "type": "string" } ], "path": "string", "hostname": "string", "dns": { "zoneName": "string", "zoneId": "string", "recordId": "string", "recordValueId": "string" }, "availability": "99.000", "scale": "small", "trafficRegions": [ "na" ], "advanced": { "scale": { "googleCloud": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "azure": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "aws": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } } } } } } ], "storage": [ { "type": "object", "target": { "id": "string", "type": "googleCloud" }, "bucketName": "string" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "sites": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string" } ] } } ], "name": "string", "description": "string", "apps": [ { "project": { "id": "string", "alternateId": "string", "name": "string" }, "app": { "id": "string", "alternateId": "string", "name": "string" }, "deploymentSettings": { "targets": [ { "id": "string", "type": "string" } ], "path": "string", "hostname": "string", "dns": { "zoneName": "string", "zoneId": "string", "recordId": "string", "recordValueId": "string" }, "availability": "99.000", "scale": "small", "trafficRegions": [ "na" ], "advanced": { "scale": { "googleCloud": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "azure": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "aws": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } } } } } } ], "storage": [ { "type": "object", "target": { "id": "string", "type": "googleCloud" }, "bucketName": "string" } ]})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}',
headers={
'Content-Type': 'application/json'
},
json={ "sites": [ { "app": { "id": "string" }, "deploymentSettings": { "targets": [ { "id": "string" } ] } } ], "name": "string", "description": "string", "apps": [ { "project": { "id": "string", "alternateId": "string", "name": "string" }, "app": { "id": "string", "alternateId": "string", "name": "string" }, "deploymentSettings": { "targets": [ { "id": "string", "type": "string" } ], "path": "string", "hostname": "string", "dns": { "zoneName": "string", "zoneId": "string", "recordId": "string", "recordValueId": "string" }, "availability": "99.000", "scale": "small", "trafficRegions": [ "na" ], "advanced": { "scale": { "googleCloud": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "azure": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } }, "aws": { "NA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "NA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "SA3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "EU3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP1": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP2": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 }, "AP3": { "minInstances": 0, "maxInstances": 0, "cpu": 0, "memory": 0 } } } } } } ], "storage": [ { "type": "object", "target": { "id": "string", "type": "googleCloud" }, "bucketName": "string" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
Body
POST
/api/organizations/{organizationId}/deployments/{deploymentId}/previews/
Create a new preview deployment
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
Request Body application/json
name*
string
The preview deployment name. Must be unique within the deployment.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
hostPrefix*
string
The host prefix for the preview deployment. Must be unique within the deployment.
Must have a length between 1 and 25 characters.
Must start and end with an alphanumeric character (a-z, 0-9).
May contain hyphens in the middle.
{
"name": "string",
"hostPrefix": "string"
}
Responses
200
Successfully created a preview deployment
id
string
The preview deployment id.
name
string
The preview deployment name. Must be unique within the deployment.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
hostPrefix
string
The host prefix for the preview deployment. Must be unique within the deployment.
Must have a length between 1 and 25 characters.
Must start and end with an alphanumeric character (a-z, 0-9).
May contain hyphens in the middle.
dns
array(object)
DNS records generated for this preview from the deployment app hostnames.
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/previews/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "hostPrefix": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/previews/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "hostPrefix": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/previews/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "hostPrefix": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
Body
DELETE
/api/organizations/{organizationId}/deployments/{deploymentId}/previews/{previewId}
Delete a preview deployment
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
| previewId * | string | path | The preview Id or name. |
Responses
204
Successfully deleted preview deployment
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/previews/{previewId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/previews/{previewId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/previews/{previewId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
previewId
path
*
GET
/api/organizations/{organizationId}/deployments/{deploymentId}/runs/
Get a list of runs for a deployment
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| previewId | string | query | The preview Id or name. |
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
Responses
200
Successfully got a list of deployment runs for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"status": "creating",
"timing": {
"startTime": "string",
"endTime": "string"
},
"deploymentId": "string",
"previewId": "string",
"triggeredBy": {
"type": "optimizer",
"runId": "string"
},
"deploymentSnapshot": {
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
},
"appsSnapshot": [
{
"id": "app_66bf99b72a0043f841769880",
"alternateId": "my-app",
"name": "My App",
"settings": {
"env": {
"accessControls": {
"environments": {
"production": {
"allow": [
{
"description": "Prod servers",
"type": "cidr",
"cidr": "10.10.0.0/16"
}
],
"deny": [
{
"description": "Block all",
"type": "cidr",
"cidr": "0.0.0.0/0"
}
]
}
}
}
}
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
],
"artifacts": [
{
"appId": "string",
"buildId": "string",
"artifacts": [
null
]
}
],
"pipeline": {
"steps": [
null
]
},
"environmentResourcesSnapshot": [
{
"id": "string",
"deployment": {
"id": "string",
"name": "string"
},
"status": "Pending",
"lastDeploymentRunId": "string",
"regions": [
{
"id": "string",
"location": "string",
"archivedAt": "string"
}
],
"ingresses": [
{
"id": "string",
"type": "cloud",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"ipAddress": "string",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"archivedAt": "string"
}
],
"storage": [
{
"id": "string",
"type": "object",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"bucketName": "string",
"status": "Pending",
"archivedAt": "string"
}
],
"apps": [
{
"id": "string",
"app": {
"id": "string",
"name": "string"
},
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"path": "string",
"instances": [
{
"id": "string",
"location": "string",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"url": "string",
"buildId": "string",
"archivedAt": "string",
"min": 0,
"max": 0,
"cpu": 0,
"memory": 0
}
]
}
],
"sites": [
{
"buildId": "string",
"id": "string",
"connectionId": "string",
"registryId": "string",
"uri": "string",
"siteId": "string",
"url": "string",
"lastDeploymentRunId": "string",
"app": {
"id": "string",
"name": "string"
},
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"archivedAt": "string"
}
],
"firstSuccessfulDeploymentRun": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
],
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/?pageNum={pageNum}&pageSize={pageSize}&previewId={previewId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/?pageNum={pageNum}&pageSize={pageSize}&previewId={previewId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'previewId': '{previewId}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
previewId
query
organizationId
path
*
deploymentId
path
*
POST
/api/organizations/{organizationId}/deployments/{deploymentId}/runs/
Triggers the creation of a new run. This is an asynchronous operation.
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
Request Body application/json
artifacts*
array(any)
previewId
string
{
"artifacts": [
null
],
"previewId": "string"
}
Responses
200
Successfully created a deployment run
id
string
The ID of the run.
status
string
The status of the run.
timing
object
deploymentId
string
The ID of the deployment.
previewId
string
triggeredBy
object
deploymentSnapshot
object
appsSnapshot
array(object)
A snapshot of the apps at the time of the deployment run.
artifacts
array(object)
pipeline
object
environmentResourcesSnapshot
array(object)
organization
object
meta
object
{
"id": "string",
"status": "creating",
"timing": {
"startTime": "string",
"endTime": "string"
},
"deploymentId": "string",
"previewId": "string",
"triggeredBy": {
"type": "optimizer",
"runId": "string"
},
"deploymentSnapshot": {
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
},
"appsSnapshot": [
{
"id": "app_66bf99b72a0043f841769880",
"alternateId": "my-app",
"name": "My App",
"settings": {
"env": {
"accessControls": {
"environments": {
"production": {
"allow": [
{
"description": "Prod servers",
"type": "cidr",
"cidr": "10.10.0.0/16"
}
],
"deny": [
{
"description": "Block all",
"type": "cidr",
"cidr": "0.0.0.0/0"
}
]
}
}
}
}
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
],
"artifacts": [
{
"appId": "string",
"buildId": "string",
"artifacts": [
null
]
}
],
"pipeline": {
"steps": [
null
]
},
"environmentResourcesSnapshot": [
{
"id": "string",
"deployment": {
"id": "string",
"name": "string"
},
"status": "Pending",
"lastDeploymentRunId": "string",
"regions": [
{
"id": "string",
"location": "string",
"archivedAt": "string"
}
],
"ingresses": [
{
"id": "string",
"type": "cloud",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"ipAddress": "string",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"archivedAt": "string"
}
],
"storage": [
{
"id": "string",
"type": "object",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"bucketName": "string",
"status": "Pending",
"archivedAt": "string"
}
],
"apps": [
{
"id": "string",
"app": {
"id": "string",
"name": "string"
},
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"path": "string",
"instances": [
{
"id": "string",
"location": "string",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"url": "string",
"buildId": "string",
"archivedAt": "string",
"min": 0,
"max": 0,
"cpu": 0,
"memory": 0
}
]
}
],
"sites": [
{
"buildId": "string",
"id": "string",
"connectionId": "string",
"registryId": "string",
"uri": "string",
"siteId": "string",
"url": "string",
"lastDeploymentRunId": "string",
"app": {
"id": "string",
"name": "string"
},
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"archivedAt": "string"
}
],
"firstSuccessfulDeploymentRun": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
],
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/" \
-H "Content-Type: application/json" \
-d '{ "artifacts": [ null ], "previewId": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "artifacts": [ null ], "previewId": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/',
headers={
'Content-Type': 'application/json'
},
json={ "artifacts": [ null ], "previewId": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
Body
GET
/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}
Get a run by id for a deployment
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
| runId * | string | path |
Responses
200
Successfully got a deployment run
id
string
The ID of the run.
status
string
The status of the run.
timing
object
deploymentId
string
The ID of the deployment.
previewId
string
triggeredBy
object
deploymentSnapshot
object
appsSnapshot
array(object)
A snapshot of the apps at the time of the deployment run.
artifacts
array(object)
pipeline
object
environmentResourcesSnapshot
array(object)
organization
object
meta
object
{
"id": "string",
"status": "creating",
"timing": {
"startTime": "string",
"endTime": "string"
},
"deploymentId": "string",
"previewId": "string",
"triggeredBy": {
"type": "optimizer",
"runId": "string"
},
"deploymentSnapshot": {
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
},
"appsSnapshot": [
{
"id": "app_66bf99b72a0043f841769880",
"alternateId": "my-app",
"name": "My App",
"settings": {
"env": {
"accessControls": {
"environments": {
"production": {
"allow": [
{
"description": "Prod servers",
"type": "cidr",
"cidr": "10.10.0.0/16"
}
],
"deny": [
{
"description": "Block all",
"type": "cidr",
"cidr": "0.0.0.0/0"
}
]
}
}
}
}
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
],
"artifacts": [
{
"appId": "string",
"buildId": "string",
"artifacts": [
null
]
}
],
"pipeline": {
"steps": [
null
]
},
"environmentResourcesSnapshot": [
{
"id": "string",
"deployment": {
"id": "string",
"name": "string"
},
"status": "Pending",
"lastDeploymentRunId": "string",
"regions": [
{
"id": "string",
"location": "string",
"archivedAt": "string"
}
],
"ingresses": [
{
"id": "string",
"type": "cloud",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"ipAddress": "string",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"archivedAt": "string"
}
],
"storage": [
{
"id": "string",
"type": "object",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"bucketName": "string",
"status": "Pending",
"archivedAt": "string"
}
],
"apps": [
{
"id": "string",
"app": {
"id": "string",
"name": "string"
},
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"path": "string",
"instances": [
{
"id": "string",
"location": "string",
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"url": "string",
"buildId": "string",
"archivedAt": "string",
"min": 0,
"max": 0,
"cpu": 0,
"memory": 0
}
]
}
],
"sites": [
{
"buildId": "string",
"id": "string",
"connectionId": "string",
"registryId": "string",
"uri": "string",
"siteId": "string",
"url": "string",
"lastDeploymentRunId": "string",
"app": {
"id": "string",
"name": "string"
},
"target": {
"id": "string",
"type": "hyphenCloud"
},
"status": "Pending",
"archivedAt": "string"
}
],
"firstSuccessfulDeploymentRun": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
],
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
runId
path
*
PUT
/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/status
Update the status for a deployment run
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
| runId * | string | path |
Request Body application/json
status*
string
The status of the run.
{
"status": "canceling"
}
Responses
204
Successfully updated deployment run status
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PUT "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/status" \
-H "Content-Type: application/json" \
-d '{ "status": "canceling"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/status', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "status": "canceling"})
});
const data = await response.json();
import requests
response = requests.put(
'https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/status',
headers={
'Content-Type': 'application/json'
},
json={ "status": "canceling"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
runId
path
*
Body
GET
/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/logs
Get the logs for a given deployment run.
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| deploymentId * | string | path | The deployment Id or alternate Id. |
| runId * | string | path |
Responses
200
Successfully got the logs for a deployment run
(items)
object
[
{
"level": "INFO",
"id": "string",
"runId": "string",
"organization": {
"id": "string",
"name": "string"
},
"message": "string",
"timestamp": 0,
"parents": [
"string"
],
"stepId": "string",
"parallelStepId": "string",
"taskId": "string",
"userFacingErrorMessage": "string",
"retryable": true
}
]
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/logs"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/logs', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/deployments/{deploymentId}/runs/{runId}/logs')
data = response.json()
Test Request
Parameters
organizationId
path
*
deploymentId
path
*
runId
path
*
GET
/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/deployment
Get the deployment for a project environment
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| environmentId * | string | path | The environment Id or alternate Id. |
Responses
200
Successfully got the deployment for an environment
id
string
The deployment Id.
name
string
The name of the deployment.
alternateId
string
The alternate ID of the deployment.
description
string
The description of the deployment.
organization
object
project
object
projectEnvironment
object
apps
array(object)
The projects associated with the deployment.
sites
array(object)
The websites associated with the deployment.
isReady
boolean
Whether the deployment has all required connections ready for deployment.
readinessIssues
array(object)
List of issues preventing the deployment from being ready.
previews
array(object)
The preview deployments associated with the deployment.
storage
array(object)
The storage configurations associated with the deployment.
{
"id": "string",
"name": "string",
"alternateId": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"apps": [
{
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "string"
}
],
"path": "string",
"hostname": "string",
"dns": {
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string"
},
"availability": "99.000",
"scale": "small",
"trafficRegions": [
"na"
],
"advanced": {
"scale": {
"googleCloud": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"azure": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
},
"aws": {
"NA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"NA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"SA3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"EU3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP1": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP2": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
},
"AP3": {
"minInstances": 0,
"maxInstances": 0,
"cpu": 0,
"memory": 0
}
}
}
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
}
],
"sites": [
{
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"deploymentSettings": {
"targets": [
{
"id": "string",
"type": "hyphenCloud"
}
]
}
}
],
"isReady": true,
"readinessIssues": [
{
"error": "string",
"target": "string",
"projectId": "string"
}
],
"previews": [
{
"id": "string",
"name": "string",
"hostPrefix": "string",
"dns": [
{
"zoneName": "string",
"zoneId": "string",
"recordId": "string",
"recordValueId": "string",
"appId": "string"
}
]
}
],
"storage": [
{
"type": "object",
"target": {
"id": "string",
"type": "googleCloud"
},
"bucketName": "string"
}
]
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/deployment"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/deployment', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/deployment')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
environmentId
path
*
Zones
GET
/api/organizations/{organizationId}/dns/zones/
Get a list of zones for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of zones for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
GET
/api/organizations/{organizationId}/dns/zones/{zoneId}/
Get a zone for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| zoneId * | string | path | The zone Id. |
Responses
200
Successfully retrieved a zone for an organization
id
string
The zone Id.
name
string
The DNS zone name (e.g., example.com).
organization
object
meta
object
{
"id": "string",
"name": "string",
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
zoneId
path
*
DELETE
/api/organizations/{organizationId}/dns/zones/{zoneId}/
Delete a zone for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| zoneId * | string | path | The zone Id. |
Responses
204
Successfully deleted the zone for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
zoneId
path
*
Resource Records
GET
/api/organizations/{organizationId}/dns/zones/{zoneId}/resource-records/
Get a list of resource records for a zone
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
| zoneId * | string | path | The zone Id. |
Responses
200
Successfully got a list of resource records for a zone
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"type": "A",
"values": [
{
"id": "string",
"data": "string",
"ttl": 0
}
],
"zone": {
"id": "string",
"name": "string"
},
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/resource-records/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/resource-records/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/dns/zones/{zoneId}/resource-records/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
zoneId
path
*
Incidents
GET
/api/organizations/{organizationId}/incidents/
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| status | string | query | |
| projectId | string | query | |
| projectEnvironmentId | string | query | |
| currentAssigneeMemberId | string | query | |
| pageNum | integer | query | |
| pageSize | integer | query | |
| organizationId * | string | path | The organization Id. |
Responses
200
Default Response
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"alternateId": "string",
"title": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"source": null,
"status": "unacknowledged",
"responderMemberId": "string",
"acknowledgment": {
"memberId": "string",
"at": "string"
},
"resolution": {
"memberId": "string",
"at": "string"
},
"currentAssignee": {
"id": "string",
"name": "string"
},
"responder": {
"id": "string",
"name": "string"
},
"canManage": true,
"isScopeAvailable": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/?status={status}&projectId={projectId}&projectEnvironmentId={projectEnvironmentId}¤tAssigneeMemberId={currentAssigneeMemberId}&pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/?status={status}&projectId={projectId}&projectEnvironmentId={projectEnvironmentId}¤tAssigneeMemberId={currentAssigneeMemberId}&pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/incidents/',
params={
'status': '{status}',
'projectId': '{projectId}',
'projectEnvironmentId': '{projectEnvironmentId}',
'currentAssigneeMemberId': '{currentAssigneeMemberId}',
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
status
query
projectId
query
projectEnvironmentId
query
currentAssigneeMemberId
query
pageNum
query
pageSize
query
organizationId
path
*
POST
/api/organizations/{organizationId}/incidents/
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
requestId*
string
projectId*
string
projectEnvironmentId*
string
appId
string
title*
string
description*
string
{
"requestId": "string",
"projectId": "string",
"projectEnvironmentId": "string",
"appId": "string",
"title": "string",
"description": "string"
}
Responses
201
Default Response
id
string
alternateId
string
title
string
description
string
organization
object
project
object
projectEnvironment
object
app
object
source
oneOf
status
string
responderMemberId
string
acknowledgment
object
resolution
object
currentAssignee
object
responder
object
canManage
boolean
isScopeAvailable
boolean
meta
object
timeline
array(object)
notifications
array(object)
nextReminderAt
string (date-time)
candidates
array(object)
{
"id": "string",
"alternateId": "string",
"title": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"source": null,
"status": "unacknowledged",
"responderMemberId": "string",
"acknowledgment": {
"memberId": "string",
"at": "string"
},
"resolution": {
"memberId": "string",
"at": "string"
},
"currentAssignee": {
"id": "string",
"name": "string"
},
"responder": {
"id": "string",
"name": "string"
},
"canManage": true,
"isScopeAvailable": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"timeline": [
{
"id": "string",
"organizationId": "string",
"incidentId": "string",
"timestamp": "string",
"type": "created",
"actor": {
"type": "member",
"memberId": "string",
"name": "string"
},
"previousResponderMemberId": "string",
"responderMemberId": "string",
"message": "string",
"summary": "string"
}
],
"notifications": [
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
],
"incidentId": "string"
}
],
"nextReminderAt": "string",
"candidates": [
{
"id": "string",
"name": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/" \
-H "Content-Type: application/json" \
-d '{ "requestId": "string", "projectId": "string", "projectEnvironmentId": "string", "appId": "string", "title": "string", "description": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "requestId": "string", "projectId": "string", "projectEnvironmentId": "string", "appId": "string", "title": "string", "description": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/incidents/',
headers={
'Content-Type': 'application/json'
},
json={ "requestId": "string", "projectId": "string", "projectEnvironmentId": "string", "appId": "string", "title": "string", "description": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/incidents/coverage
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Responses
200
Default Response
projects
array(object)
{
"projects": [
{
"id": "string",
"alternateId": "string",
"name": "string",
"canManage": true,
"isEnabled": true,
"currentAssignee": {
"id": "string",
"name": "string"
},
"openIncidentCount": 0,
"environments": [
{
"id": "string",
"alternateId": "string",
"name": "string",
"isSelected": true,
"openIncidentCount": 0
}
]
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/coverage"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/coverage', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/coverage')
data = response.json()
Test Request
Parameters
organizationId
path
*
GET
/api/organizations/{organizationId}/incidents/{incidentId}
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| incidentId * | string | path |
Responses
200
Default Response
id
string
alternateId
string
title
string
description
string
organization
object
project
object
projectEnvironment
object
app
object
source
oneOf
status
string
responderMemberId
string
acknowledgment
object
resolution
object
currentAssignee
object
responder
object
canManage
boolean
isScopeAvailable
boolean
meta
object
timeline
array(object)
notifications
array(object)
nextReminderAt
string (date-time)
candidates
array(object)
{
"id": "string",
"alternateId": "string",
"title": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"source": null,
"status": "unacknowledged",
"responderMemberId": "string",
"acknowledgment": {
"memberId": "string",
"at": "string"
},
"resolution": {
"memberId": "string",
"at": "string"
},
"currentAssignee": {
"id": "string",
"name": "string"
},
"responder": {
"id": "string",
"name": "string"
},
"canManage": true,
"isScopeAvailable": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"timeline": [
{
"id": "string",
"organizationId": "string",
"incidentId": "string",
"timestamp": "string",
"type": "created",
"actor": {
"type": "member",
"memberId": "string",
"name": "string"
},
"previousResponderMemberId": "string",
"responderMemberId": "string",
"message": "string",
"summary": "string"
}
],
"notifications": [
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
],
"incidentId": "string"
}
],
"nextReminderAt": "string",
"candidates": [
{
"id": "string",
"name": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
incidentId
path
*
POST
/api/organizations/{organizationId}/incidents/{incidentId}/acknowledge
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| incidentId * | string | path |
Request Body application/json
requestId*
string
{
"requestId": "string"
}
Responses
200
Default Response
id
string
alternateId
string
title
string
description
string
organization
object
project
object
projectEnvironment
object
app
object
source
oneOf
status
string
responderMemberId
string
acknowledgment
object
resolution
object
currentAssignee
object
responder
object
canManage
boolean
isScopeAvailable
boolean
meta
object
timeline
array(object)
notifications
array(object)
nextReminderAt
string (date-time)
candidates
array(object)
{
"id": "string",
"alternateId": "string",
"title": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"source": null,
"status": "unacknowledged",
"responderMemberId": "string",
"acknowledgment": {
"memberId": "string",
"at": "string"
},
"resolution": {
"memberId": "string",
"at": "string"
},
"currentAssignee": {
"id": "string",
"name": "string"
},
"responder": {
"id": "string",
"name": "string"
},
"canManage": true,
"isScopeAvailable": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"timeline": [
{
"id": "string",
"organizationId": "string",
"incidentId": "string",
"timestamp": "string",
"type": "created",
"actor": {
"type": "member",
"memberId": "string",
"name": "string"
},
"previousResponderMemberId": "string",
"responderMemberId": "string",
"message": "string",
"summary": "string"
}
],
"notifications": [
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
],
"incidentId": "string"
}
],
"nextReminderAt": "string",
"candidates": [
{
"id": "string",
"name": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/acknowledge" \
-H "Content-Type: application/json" \
-d '{ "requestId": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/acknowledge', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "requestId": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/acknowledge',
headers={
'Content-Type': 'application/json'
},
json={ "requestId": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
incidentId
path
*
Body
POST
/api/organizations/{organizationId}/incidents/{incidentId}/reassign
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| incidentId * | string | path |
Request Body application/json
requestId*
string
responderMemberId*
string
{
"requestId": "string",
"responderMemberId": "string"
}
Responses
200
Default Response
id
string
alternateId
string
title
string
description
string
organization
object
project
object
projectEnvironment
object
app
object
source
oneOf
status
string
responderMemberId
string
acknowledgment
object
resolution
object
currentAssignee
object
responder
object
canManage
boolean
isScopeAvailable
boolean
meta
object
timeline
array(object)
notifications
array(object)
nextReminderAt
string (date-time)
candidates
array(object)
{
"id": "string",
"alternateId": "string",
"title": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"source": null,
"status": "unacknowledged",
"responderMemberId": "string",
"acknowledgment": {
"memberId": "string",
"at": "string"
},
"resolution": {
"memberId": "string",
"at": "string"
},
"currentAssignee": {
"id": "string",
"name": "string"
},
"responder": {
"id": "string",
"name": "string"
},
"canManage": true,
"isScopeAvailable": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"timeline": [
{
"id": "string",
"organizationId": "string",
"incidentId": "string",
"timestamp": "string",
"type": "created",
"actor": {
"type": "member",
"memberId": "string",
"name": "string"
},
"previousResponderMemberId": "string",
"responderMemberId": "string",
"message": "string",
"summary": "string"
}
],
"notifications": [
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
],
"incidentId": "string"
}
],
"nextReminderAt": "string",
"candidates": [
{
"id": "string",
"name": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/reassign" \
-H "Content-Type: application/json" \
-d '{ "requestId": "string", "responderMemberId": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/reassign', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "requestId": "string", "responderMemberId": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/reassign',
headers={
'Content-Type': 'application/json'
},
json={ "requestId": "string", "responderMemberId": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
incidentId
path
*
Body
POST
/api/organizations/{organizationId}/incidents/{incidentId}/resolve
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| incidentId * | string | path |
Request Body application/json
requestId*
string
{
"requestId": "string"
}
Responses
200
Default Response
id
string
alternateId
string
title
string
description
string
organization
object
project
object
projectEnvironment
object
app
object
source
oneOf
status
string
responderMemberId
string
acknowledgment
object
resolution
object
currentAssignee
object
responder
object
canManage
boolean
isScopeAvailable
boolean
meta
object
timeline
array(object)
notifications
array(object)
nextReminderAt
string (date-time)
candidates
array(object)
{
"id": "string",
"alternateId": "string",
"title": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"source": null,
"status": "unacknowledged",
"responderMemberId": "string",
"acknowledgment": {
"memberId": "string",
"at": "string"
},
"resolution": {
"memberId": "string",
"at": "string"
},
"currentAssignee": {
"id": "string",
"name": "string"
},
"responder": {
"id": "string",
"name": "string"
},
"canManage": true,
"isScopeAvailable": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"timeline": [
{
"id": "string",
"organizationId": "string",
"incidentId": "string",
"timestamp": "string",
"type": "created",
"actor": {
"type": "member",
"memberId": "string",
"name": "string"
},
"previousResponderMemberId": "string",
"responderMemberId": "string",
"message": "string",
"summary": "string"
}
],
"notifications": [
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
],
"incidentId": "string"
}
],
"nextReminderAt": "string",
"candidates": [
{
"id": "string",
"name": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/resolve" \
-H "Content-Type: application/json" \
-d '{ "requestId": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/resolve', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "requestId": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/resolve',
headers={
'Content-Type': 'application/json'
},
json={ "requestId": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
incidentId
path
*
Body
POST
/api/organizations/{organizationId}/incidents/{incidentId}/updates
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| incidentId * | string | path |
Request Body application/json
requestId*
string
message*
string
{
"requestId": "string",
"message": "string"
}
Responses
200
Default Response
id
string
alternateId
string
title
string
description
string
organization
object
project
object
projectEnvironment
object
app
object
source
oneOf
status
string
responderMemberId
string
acknowledgment
object
resolution
object
currentAssignee
object
responder
object
canManage
boolean
isScopeAvailable
boolean
meta
object
timeline
array(object)
notifications
array(object)
nextReminderAt
string (date-time)
candidates
array(object)
{
"id": "string",
"alternateId": "string",
"title": "string",
"description": "string",
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"projectEnvironment": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"app": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"source": null,
"status": "unacknowledged",
"responderMemberId": "string",
"acknowledgment": {
"memberId": "string",
"at": "string"
},
"resolution": {
"memberId": "string",
"at": "string"
},
"currentAssignee": {
"id": "string",
"name": "string"
},
"responder": {
"id": "string",
"name": "string"
},
"canManage": true,
"isScopeAvailable": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"timeline": [
{
"id": "string",
"organizationId": "string",
"incidentId": "string",
"timestamp": "string",
"type": "created",
"actor": {
"type": "member",
"memberId": "string",
"name": "string"
},
"previousResponderMemberId": "string",
"responderMemberId": "string",
"message": "string",
"summary": "string"
}
],
"notifications": [
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
],
"incidentId": "string"
}
],
"nextReminderAt": "string",
"candidates": [
{
"id": "string",
"name": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/updates" \
-H "Content-Type: application/json" \
-d '{ "requestId": "string", "message": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/updates', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "requestId": "string", "message": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/incidents/{incidentId}/updates',
headers={
'Content-Type': 'application/json'
},
json={ "requestId": "string", "message": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
incidentId
path
*
Body
Organization Integrations
POST
/api/organizations/{organizationId}/integration-invites/
Get an integration invite for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
type*
string
codeChallenge
string
region
string
{
"type": "slack",
"codeChallenge": "string",
"region": "string"
}
Responses
201
Successfully got an integration invite for an organization
type
string
url
string
{
"type": "slack",
"url": "string"
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integration-invites/" \
-H "Content-Type: application/json" \
-d '{ "type": "slack", "codeChallenge": "string", "region": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integration-invites/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "type": "slack", "codeChallenge": "string", "region": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integration-invites/',
headers={
'Content-Type': 'application/json'
},
json={ "type": "slack", "codeChallenge": "string", "region": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/integrations/
Get a list of integrations for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of integrations for an organization
data
array(object)
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
{
"data": [
{
"id": "string",
"provides": [
{
"connectionType": "DistributionList",
"for": [
"Organization"
]
}
]
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/')
data = response.json()
Test Request
Parameters
organizationId
path
*
POST
/api/organizations/{organizationId}/integrations/
Create an integration for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
{}
Responses
201
Successfully created an integration for an organization
id
string
The integration Id.
provides
array(object)
{
"id": "string",
"provides": [
{
"connectionType": "DistributionList",
"for": [
"Organization"
]
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
POST
/api/organizations/{organizationId}/integrations/test
Test an integration for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
{}
Responses
204
Successfully tested an integration for an organization
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/test" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/test', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/test',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
POST
/api/organizations/{organizationId}/integrations/azure/context
Get the azure context for a user
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
token*
string
The token to use for authentication
{
"token": "string"
}
Responses
200
Successfully got the azure context for the user
tenants
array(object)
subscriptions
array(object)
{
"tenants": [
{
"id": "string",
"name": "string"
}
],
"subscriptions": [
{
"id": "string",
"name": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/azure/context" \
-H "Content-Type: application/json" \
-d '{ "token": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/azure/context', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "token": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/azure/context',
headers={
'Content-Type': 'application/json'
},
json={ "token": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/integrations/{integrationId}/
Get an integration for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
Responses
200
Successfully got the integration for an organization
id
string
The integration Id.
provides
array(object)
{
"id": "string",
"provides": [
{
"connectionType": "DistributionList",
"for": [
"Organization"
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
DELETE
/api/organizations/{organizationId}/integrations/{integrationId}/
Delete the integration for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
Responses
204
Successfully deleted the integration for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
POST
/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/
Request a page of integration evidence
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
| idempotency-key * | string | header |
Request Body application/json
capabilityId*
string
pageSize
integer
pageCursor
string
principalProperty
string
{
"capabilityId": "identity.principals",
"pageSize": 0,
"pageCursor": "string",
"principalProperty": "string"
}
Responses
202
Default Response
operationId
string
status
string
expiresAt
string (date-time)
progress
object
provenance
object
result
object
unavailableReason
string
{
"operationId": "string",
"status": "pending",
"expiresAt": "string",
"progress": {
"phase": "collect",
"pagesCollected": 0,
"recordsCollected": 0,
"recordsAssembled": 0,
"recordsTotal": 0,
"updatedAt": "string",
"phaseStartedAt": "string",
"retryAt": "string",
"waitReason": "rate-limit"
},
"provenance": {
"collectionId": "string",
"capabilityId": "identity.principals",
"integrationType": "string",
"targetId": "string"
},
"result": {
"data": [
null
],
"pageSize": 0,
"nextPageCursor": "string"
},
"unavailableReason": "unsupported"
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/" \
-H "idempotency-key: {idempotency-key}" \
-H "Content-Type: application/json" \
-d '{ "capabilityId": "identity.principals", "pageSize": 0, "pageCursor": "string", "principalProperty": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/', {
method: 'POST',
headers: {
'idempotency-key': '{idempotency-key}',
'Content-Type': 'application/json'
},
body: JSON.stringify({ "capabilityId": "identity.principals", "pageSize": 0, "pageCursor": "string", "principalProperty": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/',
headers={
'idempotency-key': '{idempotency-key}',
'Content-Type': 'application/json'
},
json={ "capabilityId": "identity.principals", "pageSize": 0, "pageCursor": "string", "principalProperty": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
idempotency-key
header
*
Body
GET
/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/{operationId}
Read an integration evidence page operation
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
| operationId * | string | path |
Responses
200
Default Response
operationId
string
status
string
expiresAt
string (date-time)
progress
object
provenance
object
result
object
unavailableReason
string
{
"operationId": "string",
"status": "pending",
"expiresAt": "string",
"progress": {
"phase": "collect",
"pagesCollected": 0,
"recordsCollected": 0,
"recordsAssembled": 0,
"recordsTotal": 0,
"updatedAt": "string",
"phaseStartedAt": "string",
"retryAt": "string",
"waitReason": "rate-limit"
},
"provenance": {
"collectionId": "string",
"capabilityId": "identity.principals",
"integrationType": "string",
"targetId": "string"
},
"result": {
"data": [
null
],
"pageSize": 0,
"nextPageCursor": "string"
},
"unavailableReason": "unsupported"
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/{operationId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/{operationId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/evidence-pages/{operationId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
operationId
path
*
POST
/api/organizations/{organizationId}/integrations/{integrationId}/import/
Import selected resources for an integration
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
Request Body application/json
type*
string
The connection type being imported.
parentId
string
Optional parent provider resource identifier (e.g., zoneId for DNSRecord).
resources*
array(object)
List of provider resources to import.
{
"type": "DistributionList",
"parentId": "string",
"resources": [
{
"id": "string",
"key": "value"
}
]
}
Responses
202
Import accepted for processing
status
string
{
"status": "string"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/import/" \
-H "Content-Type: application/json" \
-d '{ "type": "DistributionList", "parentId": "string", "resources": [ { "id": "string", "key": "value" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/import/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "type": "DistributionList", "parentId": "string", "resources": [ { "id": "string", "key": "value" } ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/import/',
headers={
'Content-Type': 'application/json'
},
json={ "type": "DistributionList", "parentId": "string", "resources": [ { "id": "string", "key": "value" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
Body
GET
/api/organizations/{organizationId}/integrations/{integrationId}/resources/
List resources for an integration by connection type
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| type * | string | query | The connection type to list resources for. |
| parentId | string | query | Optional parent provider resource identifier (e.g., zoneId for DNSRecord). |
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
Responses
200
Successfully got a list of resources for the integration and type
data
array(object)
{
"data": [
{
"id": "string",
"name": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/resources/?type={type}&parentId={parentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/resources/?type={type}&parentId={parentId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/resources/',
params={
'type': '{type}',
'parentId': '{parentId}'
}
)
data = response.json()
Test Request
Parameters
type
query
*
parentId
query
organizationId
path
*
integrationId
path
*
Integration Connections
GET
/api/organizations/{organizationId}/integrations/connections
Get a list of connections for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| projectIds | array(string) | query | The project Ids. |
| integrationIds | array(string) | query | The integration Ids. |
| integrationTypes | array(string) | query | The integration types. |
| entityIds | array(string) | query | The entity Ids. |
| types | array(string) | query | The connection types. |
| connectionIds | array(string) | query | The connection Ids. |
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of integration connections for an organization
data
array(object)
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
{
"data": [
{
"id": "string",
"status": "Pending",
"type": "DistributionList",
"entity": {
"type": "Organization",
"id": "string",
"name": "string"
},
"organizationIntegration": {
"id": "string",
"type": "hyphenCloud"
},
"config": {
"key": "value"
},
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"errors": [
null
],
"input": "string",
"verification": {
"emails": [
"string"
]
},
"isRetryable": true
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/connections?projectIds={projectIds}&integrationIds={integrationIds}&integrationTypes={integrationTypes}&entityIds={entityIds}&types={types}&connectionIds={connectionIds}&pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/connections?projectIds={projectIds}&integrationIds={integrationIds}&integrationTypes={integrationTypes}&entityIds={entityIds}&types={types}&connectionIds={connectionIds}&pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/connections',
params={
'projectIds': '{projectIds}',
'integrationIds': '{integrationIds}',
'integrationTypes': '{integrationTypes}',
'entityIds': '{entityIds}',
'types': '{types}',
'connectionIds': '{connectionIds}',
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
projectIds
query
integrationIds
query
integrationTypes
query
entityIds
query
types
query
connectionIds
query
pageNum
query
pageSize
query
organizationId
path
*
GET
/api/organizations/{organizationId}/integrations/connections/access
Get a list of integration connection access for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| entityConnectionIds | array(string) | query | The entity connection Ids. |
| assignmentConnectionIds | array(string) | query | The assignment connection Ids. |
| entityIds | array(string) | query | The connection entity Ids. |
| assignmentIds | array(string) | query | The assignment entity Ids. |
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of integration connection access for an organization
data
array(object)
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
{
"data": [
{
"id": "string",
"status": "Pending",
"integrationType": "hyphenCloud",
"entityConnection": {
"id": "string",
"type": "User",
"entity": {
"type": "Organization",
"id": "string",
"name": "string"
}
},
"assignmentConnection": {
"id": "string",
"type": "User",
"entity": {
"type": "Member",
"id": "string",
"name": "string"
}
},
"config": {
"key": "value"
},
"organization": {
"id": "string",
"name": "string"
},
"errors": [
"string"
]
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/connections/access?entityConnectionIds={entityConnectionIds}&assignmentConnectionIds={assignmentConnectionIds}&entityIds={entityIds}&assignmentIds={assignmentIds}&pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/connections/access?entityConnectionIds={entityConnectionIds}&assignmentConnectionIds={assignmentConnectionIds}&entityIds={entityIds}&assignmentIds={assignmentIds}&pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/connections/access',
params={
'entityConnectionIds': '{entityConnectionIds}',
'assignmentConnectionIds': '{assignmentConnectionIds}',
'entityIds': '{entityIds}',
'assignmentIds': '{assignmentIds}',
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
entityConnectionIds
query
assignmentConnectionIds
query
entityIds
query
assignmentIds
query
pageNum
query
pageSize
query
organizationId
path
*
POST
/api/organizations/{organizationId}/integrations/{integrationId}/connections/
Create an integration connection
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
Request Body application/json
type*
string
The type of connection.
entity*
object
input
string
The connection input.
config
object
The connection config.
{
"type": "DistributionList",
"entity": {
"id": "string"
},
"input": "string",
"config": {
"key": "value"
}
}
Responses
201
Successfully created access for an organization
id
string
The integration connection Id.
status
string
The connection status.
type
string
The type of connection.
entity
object
organizationIntegration
object
config
object
The connection config.
organization
object
project
object
errors
array(any)
The connection errors.
input
string
The connection input.
verification
object
The connection verification details.
isRetryable
boolean
Whether the connection is retryable.
{
"id": "string",
"status": "Pending",
"type": "DistributionList",
"entity": {
"type": "Organization",
"id": "string",
"name": "string"
},
"organizationIntegration": {
"id": "string",
"type": "hyphenCloud"
},
"config": {
"key": "value"
},
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"errors": [
null
],
"input": "string",
"verification": {
"emails": [
"string"
]
},
"isRetryable": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/" \
-H "Content-Type: application/json" \
-d '{ "type": "DistributionList", "entity": { "id": "string" }, "input": "string", "config": { "key": "value" }}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "type": "DistributionList", "entity": { "id": "string" }, "input": "string", "config": { "key": "value" }})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/',
headers={
'Content-Type': 'application/json'
},
json={ "type": "DistributionList", "entity": { "id": "string" }, "input": "string", "config": { "key": "value" }}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
Body
GET
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/
Get the connection for an integration
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
| connectionId * | string | path | The integration connection Id. |
Responses
200
Successfully got the connection for an integration
id
string
The integration connection Id.
status
string
The connection status.
type
string
The type of connection.
entity
object
organizationIntegration
object
config
object
The connection config.
organization
object
project
object
errors
array(any)
The connection errors.
input
string
The connection input.
verification
object
The connection verification details.
isRetryable
boolean
Whether the connection is retryable.
{
"id": "string",
"status": "Pending",
"type": "DistributionList",
"entity": {
"type": "Organization",
"id": "string",
"name": "string"
},
"organizationIntegration": {
"id": "string",
"type": "hyphenCloud"
},
"config": {
"key": "value"
},
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"errors": [
null
],
"input": "string",
"verification": {
"emails": [
"string"
]
},
"isRetryable": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
connectionId
path
*
DELETE
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/
Delete the connection for an integration
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| type | object | query | |
| additionalProperties | unknown | query | |
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
| connectionId * | string | path | The integration connection Id. |
Responses
204
Successfully delete the connection for an integration
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/?type={type}&additionalProperties={additionalProperties}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/?type={type}&additionalProperties={additionalProperties}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/',
params={
'type': '{type}',
'additionalProperties': '{additionalProperties}'
}
)
data = response.json()
Test Request
Parameters
type
query
additionalProperties
query
organizationId
path
*
integrationId
path
*
connectionId
path
*
GET
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-logs
Read up to 100 recent APM logs for a connection
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| environmentId * | string | query | |
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
| connectionId * | string | path | The integration connection Id. |
Responses
200
Default Response
status
string
timeRange
object
logs
array(object)
error
string
truncated
boolean
redacted
boolean
{
"status": "available",
"timeRange": {
"start": "string",
"end": "string"
},
"logs": [
{
"timestamp": "string",
"message": "string",
"severity": "string",
"stream": "string"
}
],
"error": "string",
"truncated": true,
"redacted": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-logs?environmentId={environmentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-logs?environmentId={environmentId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-logs',
params={
'environmentId': '{environmentId}'
}
)
data = response.json()
Test Request
Parameters
environmentId
query
*
organizationId
path
*
integrationId
path
*
connectionId
path
*
GET
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-observability
Test a Kubernetes observability connection with recent workload logs and metrics
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| namespace * | string | query | |
| kind * | string | query | |
| name * | string | query | |
| apiVersion | string | query | |
| uid | string | query | |
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
| connectionId * | string | path | The integration connection Id. |
Responses
200
Default Response
timeRange
object
metrics
object
logs
object
queryErrors
array(object)
warnings
array(string)
{
"timeRange": {
"start": "string",
"end": "string"
},
"metrics": {
"cpuUtilization": [
{
"timestamp": "string",
"value": 0
}
],
"memoryUtilization": [
{
"timestamp": "string",
"value": 0
}
],
"restartCountDelta": [
{
"timestamp": "string",
"value": 0
}
],
"replicaCount": [
{
"timestamp": "string",
"value": 0
}
],
"latestDataAt": "string"
},
"logs": {
"entries": [
{
"timestamp": "string",
"message": "string",
"severity": "string",
"stream": "string",
"podName": "string",
"containerName": "string"
}
],
"truncated": true,
"redacted": true
},
"queryErrors": [
{
"source": "workload",
"timedOut": true
}
],
"warnings": [
"string"
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-observability?namespace={namespace}&kind={kind}&name={name}&apiVersion={apiVersion}&uid={uid}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-observability?namespace={namespace}&kind={kind}&name={name}&apiVersion={apiVersion}&uid={uid}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/origin-observability',
params={
'namespace': '{namespace}',
'kind': '{kind}',
'name': '{name}',
'apiVersion': '{apiVersion}',
'uid': '{uid}'
}
)
data = response.json()
Test Request
Parameters
namespace
query
*
kind
query
*
name
query
*
apiVersion
query
uid
query
organizationId
path
*
integrationId
path
*
connectionId
path
*
POST
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/verify
Accept the connection verification for an integration
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| integrationId * | string | path | The integration Id. |
| connectionId * | string | path | The integration connection Id. |
Request Body application/json
code*
string
The verification code
{
"code": "string"
}
Responses
204
Successfully accepted verification the connection for an integration
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/verify" \
-H "Content-Type: application/json" \
-d '{ "code": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/verify', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "code": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/verify',
headers={
'Content-Type': 'application/json'
},
json={ "code": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
integrationId
path
*
connectionId
path
*
Body
Members
GET
/api/organizations/{organizationId}/members/
Get a list of members for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| search | string | query | Search by name or email |
| includeApiKeys | boolean | query | Include API keys Members. |
| includeOrganizationRoles | boolean | query | Include organization roles for each member. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of members for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "memb_66bf99b72a0043f841769880",
"firstName": "John",
"lastName": "Doe",
"nickname": "John Doe",
"email": "[email protected]",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "Organization Name"
},
"connectedAccounts": [
{
"type": "github",
"identifier": "hyphenated-username",
"profileUrl": "https://github.com/hyphenated-username"
},
{
"type": "npm",
"identifier": "npm-username",
"email": "[email protected]"
},
{
"type": "newRelic",
"identifier": "newrelic-userid",
"email": "[email protected]"
},
{
"type": "incidentIo",
"identifier": "incident-io-userid",
"email": "[email protected]"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/members/?pageNum={pageNum}&pageSize={pageSize}&search={search}&includeApiKeys={includeApiKeys}&includeOrganizationRoles={includeOrganizationRoles}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/?pageNum={pageNum}&pageSize={pageSize}&search={search}&includeApiKeys={includeApiKeys}&includeOrganizationRoles={includeOrganizationRoles}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'search': '{search}',
'includeApiKeys': '{includeApiKeys}',
'includeOrganizationRoles': '{includeOrganizationRoles}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
search
query
includeApiKeys
query
includeOrganizationRoles
query
organizationId
path
*
POST
/api/organizations/{organizationId}/members/
Create a member for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
firstName
string
The member first name.
lastName
string
The member last name.
email*
string (email)
The member primary email address.
connectedAccounts
array(any)
The connected accounts of the member.
{
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]"
}
Responses
201
Successfully created a member for an organization
id
string
The member Id.
firstName
string
The member first name.
lastName
string
The member last name.
nickname
string
The member nickname.
email
string (email)
The member primary email address.
memory
null,string
Plain-text memory used as contextual data for member-created LLM sessions.
favorites
array(any)
The member favorite items.
connectedAccounts
array(any)
The connected accounts of the member.
organizationRoles
array(string)
teams
array(object)
The teams the member belongs to.
organization
object
{
"id": "memb_66bf99b72a0043f841769880",
"firstName": "John",
"lastName": "Doe",
"nickname": "John Doe",
"email": "[email protected]",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "Organization Name"
},
"connectedAccounts": [
{
"type": "github",
"identifier": "hyphenated-username",
"profileUrl": "https://github.com/hyphenated-username"
},
{
"type": "npm",
"identifier": "npm-username",
"email": "[email protected]"
},
{
"type": "newRelic",
"identifier": "newrelic-userid",
"email": "[email protected]"
},
{
"type": "incidentIo",
"identifier": "incident-io-userid",
"email": "[email protected]"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/" \
-H "Content-Type: application/json" \
-d '{ "firstName": "John", "lastName": "Doe", "email": "[email protected]"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "firstName": "John", "lastName": "Doe", "email": "[email protected]"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/',
headers={
'Content-Type': 'application/json'
},
json={ "firstName": "John", "lastName": "Doe", "email": "[email protected]"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/members/{memberId}/
Get the member for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| includeOrganizationRoles | boolean | query | Include organization roles for the member. |
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Responses
200
Successfully got the member for an organization
id
string
The member Id.
firstName
string
The member first name.
lastName
string
The member last name.
nickname
string
The member nickname.
email
string (email)
The member primary email address.
memory
null,string
Plain-text memory used as contextual data for member-created LLM sessions.
favorites
array(any)
The member favorite items.
connectedAccounts
array(any)
The connected accounts of the member.
organizationRoles
array(string)
teams
array(object)
The teams the member belongs to.
organization
object
{
"id": "memb_66bf99b72a0043f841769880",
"firstName": "John",
"lastName": "Doe",
"nickname": "John Doe",
"email": "[email protected]",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "Organization Name"
},
"connectedAccounts": [
{
"type": "github",
"identifier": "hyphenated-username",
"profileUrl": "https://github.com/hyphenated-username"
},
{
"type": "npm",
"identifier": "npm-username",
"email": "[email protected]"
},
{
"type": "newRelic",
"identifier": "newrelic-userid",
"email": "[email protected]"
},
{
"type": "incidentIo",
"identifier": "incident-io-userid",
"email": "[email protected]"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/?includeOrganizationRoles={includeOrganizationRoles}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/?includeOrganizationRoles={includeOrganizationRoles}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/',
params={
'includeOrganizationRoles': '{includeOrganizationRoles}'
}
)
data = response.json()
Test Request
Parameters
includeOrganizationRoles
query
organizationId
path
*
memberId
path
*
DELETE
/api/organizations/{organizationId}/members/{memberId}/
Delete the member for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Responses
204
Successfully deleted the member for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
PATCH
/api/organizations/{organizationId}/members/{memberId}/
Update the member for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Request Body application/json
firstName
string
The member first name.
lastName
string
The member last name.
email
string (email)
The member primary email address.
memory
null,string
Plain-text memory used as contextual data for member-created LLM sessions.
{
"firstName": "John"
}
Responses
200
Successfully updated the member for an organization
id
string
The member Id.
firstName
string
The member first name.
lastName
string
The member last name.
nickname
string
The member nickname.
email
string (email)
The member primary email address.
memory
null,string
Plain-text memory used as contextual data for member-created LLM sessions.
favorites
array(any)
The member favorite items.
connectedAccounts
array(any)
The connected accounts of the member.
organizationRoles
array(string)
teams
array(object)
The teams the member belongs to.
organization
object
{
"id": "memb_66bf99b72a0043f841769880",
"firstName": "John",
"lastName": "Doe",
"nickname": "John Doe",
"email": "[email protected]",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "Organization Name"
},
"connectedAccounts": [
{
"type": "github",
"identifier": "hyphenated-username",
"profileUrl": "https://github.com/hyphenated-username"
},
{
"type": "npm",
"identifier": "npm-username",
"email": "[email protected]"
},
{
"type": "newRelic",
"identifier": "newrelic-userid",
"email": "[email protected]"
},
{
"type": "incidentIo",
"identifier": "incident-io-userid",
"email": "[email protected]"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/" \
-H "Content-Type: application/json" \
-d '{ "firstName": "John"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "firstName": "John"})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/',
headers={
'Content-Type': 'application/json'
},
json={ "firstName": "John"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
Body
POST
/api/organizations/{organizationId}/members/{memberId}/favorites
Add a favorite to the member
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Request Body application/json
id*
oneOf
The favorite to post for the member.
{
"id": "team_123"
}
Responses
201
Successfully created the favorite for the member
favorites
array(any)
The member favorite items.
{
"favorites": [
null
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites" \
-H "Content-Type: application/json" \
-d '{ "id": "team_123"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "id": "team_123"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites',
headers={
'Content-Type': 'application/json'
},
json={ "id": "team_123"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
Body
DELETE
/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}
Delete the favorite for a member
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
| favoriteId * | oneOf | path | The favorite to delete for the member. |
Responses
204
Successfully deleted the favorite for the member
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
favoriteId
path
*
PATCH
/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}
Update the favorite for a member
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
| favoriteId * | oneOf | path | The favorite to update for the member. |
Request Body application/json
index*
number
The index for the favorite.
{
"index": 0
}
Responses
204
Successfully updated the favorite for the member
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}" \
-H "Content-Type: application/json" \
-d '{ "index": 0}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "index": 0})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}',
headers={
'Content-Type': 'application/json'
},
json={ "index": 0}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
favoriteId
path
*
Body
GET
/api/organizations/{organizationId}/members/{memberId}/notifications/
Get your member notification settings
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Responses
200
Default Response
notificationGroups
array(object)
sms
object
preferences
object
slackWorkspaces
array(object)
connections
array(object)
verification
null,object
{
"notificationGroups": [
{
"id": "deployments",
"label": "string",
"description": "string"
}
],
"sms": {
"state": "enabled",
"disclosureVersion": "member-sms-v1",
"verificationId": "string",
"agreedAt": "string",
"optOutAt": "string",
"optOutSource": "member",
"syncPending": true,
"pendingConsent": null
},
"preferences": {
"groups": {
"deployments": [
"slack"
],
"onCall": [
"slack"
],
"agentTasks": [
"slack"
],
"infrastructure": [
"slack"
],
"reports": [
"slack"
],
"organization": [
"slack"
],
"billing": [
"slack"
]
},
"channels": [
{}
]
},
"slackWorkspaces": [
{
"integrationId": "string",
"workspaceId": "string",
"name": "string"
}
],
"connections": [
{
"id": "string",
"channel": {
"type": "slack",
"integrationId": "string"
},
"destination": {
"type": "slack",
"workspaceId": "string",
"userId": "string"
},
"email": "string",
"verifiedAt": "string"
}
],
"verification": {
"id": "string",
"integrationId": "string",
"email": "string",
"expiresAt": "string",
"resendAt": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many Slack verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
502
Slack verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/')
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
PUT
/api/organizations/{organizationId}/members/{memberId}/notifications/
Update your member notification preferences
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Request Body application/json
channels*
array(any)
{
"channels": [
null
]
}
Responses
204
Default Response
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many Slack verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
502
Slack verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X PUT "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/" \
-H "Content-Type: application/json" \
-d '{ "channels": [ null ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "channels": [ null ]})
});
const data = await response.json();
import requests
response = requests.put(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/',
headers={
'Content-Type': 'application/json'
},
json={ "channels": [ null ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
Body
POST
/api/organizations/{organizationId}/members/{memberId}/notifications/test
Send a test notification to your enabled channels
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Request Body application/json
requestId*
string (uuid)
channel
string
group
string
{
"requestId": "string",
"channel": "sms",
"group": "deployments"
}
Responses
202
Default Response
notificationId
string (uuid)
outcome
string
{
"notificationId": "string",
"outcome": "queued"
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/test" \
-H "Content-Type: application/json" \
-d '{ "requestId": "string", "channel": "sms", "group": "deployments"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/test', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "requestId": "string", "channel": "sms", "group": "deployments"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/test',
headers={
'Content-Type': 'application/json'
},
json={ "requestId": "string", "channel": "sms", "group": "deployments"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
Body
POST
/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications
Verify your Slack account for member notifications
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Request Body application/json
integrationId*
string
email*
string (email)
{
"integrationId": "string",
"email": "string"
}
Responses
200
Default Response
notificationGroups
array(object)
sms
object
preferences
object
slackWorkspaces
array(object)
connections
array(object)
verification
null,object
{
"notificationGroups": [
{
"id": "deployments",
"label": "string",
"description": "string"
}
],
"sms": {
"state": "enabled",
"disclosureVersion": "member-sms-v1",
"verificationId": "string",
"agreedAt": "string",
"optOutAt": "string",
"optOutSource": "member",
"syncPending": true,
"pendingConsent": null
},
"preferences": {
"groups": {
"deployments": [
"slack"
],
"onCall": [
"slack"
],
"agentTasks": [
"slack"
],
"infrastructure": [
"slack"
],
"reports": [
"slack"
],
"organization": [
"slack"
],
"billing": [
"slack"
]
},
"channels": [
{}
]
},
"slackWorkspaces": [
{
"integrationId": "string",
"workspaceId": "string",
"name": "string"
}
],
"connections": [
{
"id": "string",
"channel": {
"type": "slack",
"integrationId": "string"
},
"destination": {
"type": "slack",
"workspaceId": "string",
"userId": "string"
},
"email": "string",
"verifiedAt": "string"
}
],
"verification": {
"id": "string",
"integrationId": "string",
"email": "string",
"expiresAt": "string",
"resendAt": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many Slack verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
502
Slack verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications" \
-H "Content-Type: application/json" \
-d '{ "integrationId": "string", "email": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "integrationId": "string", "email": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications',
headers={
'Content-Type': 'application/json'
},
json={ "integrationId": "string", "email": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
Body
POST
/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications/{verificationId}/confirm
Confirm your Slack account for member notifications
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
| verificationId * | string (uuid) | path |
Request Body application/json
code*
string
{
"code": "string"
}
Responses
200
Default Response
notificationGroups
array(object)
sms
object
preferences
object
slackWorkspaces
array(object)
connections
array(object)
verification
null,object
{
"notificationGroups": [
{
"id": "deployments",
"label": "string",
"description": "string"
}
],
"sms": {
"state": "enabled",
"disclosureVersion": "member-sms-v1",
"verificationId": "string",
"agreedAt": "string",
"optOutAt": "string",
"optOutSource": "member",
"syncPending": true,
"pendingConsent": null
},
"preferences": {
"groups": {
"deployments": [
"slack"
],
"onCall": [
"slack"
],
"agentTasks": [
"slack"
],
"infrastructure": [
"slack"
],
"reports": [
"slack"
],
"organization": [
"slack"
],
"billing": [
"slack"
]
},
"channels": [
{}
]
},
"slackWorkspaces": [
{
"integrationId": "string",
"workspaceId": "string",
"name": "string"
}
],
"connections": [
{
"id": "string",
"channel": {
"type": "slack",
"integrationId": "string"
},
"destination": {
"type": "slack",
"workspaceId": "string",
"userId": "string"
},
"email": "string",
"verifiedAt": "string"
}
],
"verification": {
"id": "string",
"integrationId": "string",
"email": "string",
"expiresAt": "string",
"resendAt": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many Slack verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
502
Slack verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications/{verificationId}/confirm" \
-H "Content-Type: application/json" \
-d '{ "code": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications/{verificationId}/confirm', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "code": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/verifications/{verificationId}/confirm',
headers={
'Content-Type': 'application/json'
},
json={ "code": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
verificationId
path
*
Body
DELETE
/api/organizations/{organizationId}/members/{memberId}/notifications/slack/connection
Disconnect your Slack account from member notifications
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Responses
204
Default Response
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many Slack verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
502
Slack verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/connection"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/connection', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/notifications/slack/connection')
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
GET
/api/organizations/{organizationId}/members/{memberId}/phone/
Get your member phone settings
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Responses
200
Default Response
phone
null,object
verification
null,object
{
"phone": {
"phoneNumber": "string",
"verifiedAt": "string",
"verificationId": "string",
"memberId": "string",
"organization": {
"id": "string",
"name": "string"
}
},
"verification": {
"id": "string",
"phoneNumber": "string",
"expiresAt": "string",
"resendAt": "string",
"requiresMoveConfirmation": true,
"previousOrganizationName": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many phone verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
503
Phone verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/')
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
DELETE
/api/organizations/{organizationId}/members/{memberId}/phone/
Remove your member phone number
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Responses
204
Default Response
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many phone verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
503
Phone verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/')
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
POST
/api/organizations/{organizationId}/members/{memberId}/phone/verifications
Verify a phone number for your member
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
Request Body application/json
phoneNumber*
string
{
"phoneNumber": "string"
}
Responses
200
Default Response
phone
null,object
verification
null,object
{
"phone": {
"phoneNumber": "string",
"verifiedAt": "string",
"verificationId": "string",
"memberId": "string",
"organization": {
"id": "string",
"name": "string"
}
},
"verification": {
"id": "string",
"phoneNumber": "string",
"expiresAt": "string",
"resendAt": "string",
"requiresMoveConfirmation": true,
"previousOrganizationName": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many phone verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
503
Phone verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications" \
-H "Content-Type: application/json" \
-d '{ "phoneNumber": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "phoneNumber": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications',
headers={
'Content-Type': 'application/json'
},
json={ "phoneNumber": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
Body
POST
/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/resend
Resend your phone verification code
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
| verificationId * | string (uuid) | path |
Responses
200
Default Response
phone
null,object
verification
null,object
{
"phone": {
"phoneNumber": "string",
"verifiedAt": "string",
"verificationId": "string",
"memberId": "string",
"organization": {
"id": "string",
"name": "string"
}
},
"verification": {
"id": "string",
"phoneNumber": "string",
"expiresAt": "string",
"resendAt": "string",
"requiresMoveConfirmation": true,
"previousOrganizationName": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many phone verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
503
Phone verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/resend"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/resend', {
method: 'POST'
});
const data = await response.json();
import requests
response = requests.post('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/resend')
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
verificationId
path
*
POST
/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/confirm
Confirm your member phone number
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| memberId * | string | path | The member Id. |
| verificationId * | string (uuid) | path |
Request Body application/json
code*
string
confirmMove
boolean
{
"code": "string",
"confirmMove": true
}
Responses
200
Default Response
phone
null,object
verification
null,object
{
"phone": {
"phoneNumber": "string",
"verifiedAt": "string",
"verificationId": "string",
"memberId": "string",
"organization": {
"id": "string",
"name": "string"
}
},
"verification": {
"id": "string",
"phoneNumber": "string",
"expiresAt": "string",
"resendAt": "string",
"requiresMoveConfirmation": true,
"previousOrganizationName": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
429
Too many phone verification attempts
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
503
Phone verification is temporarily unavailable
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "string",
"requestId": "string",
"errorCode": "string",
"errors": [
"string"
]
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/confirm" \
-H "Content-Type: application/json" \
-d '{ "code": "string", "confirmMove": true}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/confirm', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "code": "string", "confirmMove": true})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/members/{memberId}/phone/verifications/{verificationId}/confirm',
headers={
'Content-Type': 'application/json'
},
json={ "code": "string", "confirmMove": true}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
memberId
path
*
verificationId
path
*
Body
Planned Events
GET
/api/organizations/{organizationId}/planned-events/
Get a list of planned events for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| status | string | query | Filter by planned event status. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully retrieved list of planned events
data
array(object)
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"status": "active",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"references": [
null
],
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/?status={status}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/?status={status}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/',
params={
'status': '{status}'
}
)
data = response.json()
Test Request
Parameters
status
query
organizationId
path
*
POST
/api/organizations/{organizationId}/planned-events/
Create a planned event
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
name*
string
The name of the planned event.
description
string
A description of the planned event.
scheduledStart
string (date-time)
When the event is scheduled to start (ISO 8601).
scheduledEnd
string (date-time)
When the event is scheduled to end (ISO 8601).
recurring
object
Recurring schedule. Mutually exclusive with scheduledStart.
references
array(any)
References that scope this event to specific resources or Kubernetes workload selectors.
{
"name": "string",
"description": "string",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"references": [
null
]
}
Responses
201
Successfully created a planned event
id
string
The planned event ID.
name
string
The name of the planned event.
description
string
A description of the planned event.
status
string
The current status of the planned event.
scheduledStart
string (date-time)
When the event is scheduled to start (ISO 8601).
scheduledEnd
string (date-time)
When the event is scheduled to end (ISO 8601).
recurring
object
Recurring schedule for events that repeat (e.g., weekly traffic spike).
references
array(any)
References that scope this event to specific resources or Kubernetes workload selectors.
organization
object
meta
object
{
"id": "string",
"name": "string",
"description": "string",
"status": "active",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"references": [
null
],
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "description": "string", "scheduledStart": "string", "scheduledEnd": "string", "recurring": { "cron": "string", "timezone": "string", "startAt": "string", "endAt": "string" }, "references": [ null ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "description": "string", "scheduledStart": "string", "scheduledEnd": "string", "recurring": { "cron": "string", "timezone": "string", "startAt": "string", "endAt": "string" }, "references": [ null ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "description": "string", "scheduledStart": "string", "scheduledEnd": "string", "recurring": { "cron": "string", "timezone": "string", "startAt": "string", "endAt": "string" }, "references": [ null ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/planned-events/{plannedEventId}/
Get a planned event by ID
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| plannedEventId * | string | path | The planned event ID. |
Responses
200
Successfully retrieved planned event
id
string
The planned event ID.
name
string
The name of the planned event.
description
string
A description of the planned event.
status
string
The current status of the planned event.
scheduledStart
string (date-time)
When the event is scheduled to start (ISO 8601).
scheduledEnd
string (date-time)
When the event is scheduled to end (ISO 8601).
recurring
object
Recurring schedule for events that repeat (e.g., weekly traffic spike).
references
array(any)
References that scope this event to specific resources or Kubernetes workload selectors.
organization
object
meta
object
{
"id": "string",
"name": "string",
"description": "string",
"status": "active",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"references": [
null
],
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
plannedEventId
path
*
DELETE
/api/organizations/{organizationId}/planned-events/{plannedEventId}/
Delete a planned event
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| plannedEventId * | string | path | The planned event ID. |
Responses
204
Successfully deleted planned event
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
plannedEventId
path
*
PATCH
/api/organizations/{organizationId}/planned-events/{plannedEventId}/
Update a planned event
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| plannedEventId * | string | path | The planned event ID. |
Request Body application/json
name
string
The name of the planned event.
description
string
A description of the planned event.
scheduledStart
string (date-time)
When the event starts (ISO 8601).
scheduledEnd
string (date-time)
When the event ends (ISO 8601).
status
string
The status of the planned event.
recurring
object
Recurring schedule for the planned event.
references
array(any)
References that scope this event to specific resources or Kubernetes workload selectors.
{
"name": "string",
"description": "string",
"scheduledStart": "string",
"scheduledEnd": "string",
"status": "active",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"references": [
null
]
}
Responses
200
Successfully updated planned event
id
string
The planned event ID.
name
string
The name of the planned event.
description
string
A description of the planned event.
status
string
The current status of the planned event.
scheduledStart
string (date-time)
When the event is scheduled to start (ISO 8601).
scheduledEnd
string (date-time)
When the event is scheduled to end (ISO 8601).
recurring
object
Recurring schedule for events that repeat (e.g., weekly traffic spike).
references
array(any)
References that scope this event to specific resources or Kubernetes workload selectors.
organization
object
meta
object
{
"id": "string",
"name": "string",
"description": "string",
"status": "active",
"scheduledStart": "string",
"scheduledEnd": "string",
"recurring": {
"cron": "string",
"timezone": "string",
"startAt": "string",
"endAt": "string"
},
"references": [
null
],
"organization": {
"id": "string",
"name": "string"
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "description": "string", "scheduledStart": "string", "scheduledEnd": "string", "status": "active", "recurring": { "cron": "string", "timezone": "string", "startAt": "string", "endAt": "string" }, "references": [ null ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "description": "string", "scheduledStart": "string", "scheduledEnd": "string", "status": "active", "recurring": { "cron": "string", "timezone": "string", "startAt": "string", "endAt": "string" }, "references": [ null ]})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/planned-events/{plannedEventId}/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "description": "string", "scheduledStart": "string", "scheduledEnd": "string", "status": "active", "recurring": { "cron": "string", "timezone": "string", "startAt": "string", "endAt": "string" }, "references": [ null ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
plannedEventId
path
*
Body
Policies
GET
/api/organizations/{organizationId}/policies/
List policies for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| type | string | query | |
| taskType | string | query | |
| referenceId | string | query | |
| organizationId * | string | path | The organization Id. |
Responses
200
Default Response
(items)
object
[
{}
]
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/policies/?type={type}&taskType={taskType}&referenceId={referenceId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/policies/?type={type}&taskType={taskType}&referenceId={referenceId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/policies/',
params={
'type': '{type}',
'taskType': '{taskType}',
'referenceId': '{referenceId}'
}
)
data = response.json()
Test Request
Parameters
type
query
taskType
query
referenceId
query
organizationId
path
*
POST
/api/organizations/{organizationId}/policies/
Create a policy for an organization
Creates a new policy with the specified configuration and references. The policy type is determined by the URL path parameter.
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
{}
Responses
201
Successfully created a policy
{}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/policies/" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/policies/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/policies/',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/policies/{policyId}/
Get the policy for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| policyId * | string | path | The policy ID. |
Responses
200
Successfully retrieved the policy
{}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
policyId
path
*
DELETE
/api/organizations/{organizationId}/policies/{policyId}/
Delete the policy for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| policyId * | string | path | The policy ID. |
Responses
204
Successfully deleted the policy
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
policyId
path
*
PATCH
/api/organizations/{organizationId}/policies/{policyId}/
Update the policy for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| policyId * | string | path | The policy ID. |
Request Body application/json
{}
Responses
200
Successfully updated the policy
{}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/policies/{policyId}/',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
policyId
path
*
Body
GET
/api/organizations/{organizationId}/policies/resolved/
Get resolved policy config for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| type * | string | query | The policy type to resolve. |
| taskType | string | query | The AgentTask policy task type to resolve. |
| projectId | string | query | Optional project ID to resolve policy scope. |
| projectEnvironmentId | string | query | Optional project environment ID to resolve policy scope. |
| deploymentId | string | query | Optional deployment ID to resolve policy scope. |
| kubernetesClusterId | string | query | Optional Kubernetes cluster ID to resolve policy scope. |
| environmentType | string | query | Optional environment type to resolve environment-scoped AgentTask policy defaults. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully resolved policy config for a scope.
{}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/policies/resolved/?type={type}&taskType={taskType}&projectId={projectId}&projectEnvironmentId={projectEnvironmentId}&deploymentId={deploymentId}&kubernetesClusterId={kubernetesClusterId}&environmentType={environmentType}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/policies/resolved/?type={type}&taskType={taskType}&projectId={projectId}&projectEnvironmentId={projectEnvironmentId}&deploymentId={deploymentId}&kubernetesClusterId={kubernetesClusterId}&environmentType={environmentType}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/policies/resolved/',
params={
'type': '{type}',
'taskType': '{taskType}',
'projectId': '{projectId}',
'projectEnvironmentId': '{projectEnvironmentId}',
'deploymentId': '{deploymentId}',
'kubernetesClusterId': '{kubernetesClusterId}',
'environmentType': '{environmentType}'
}
)
data = response.json()
Test Request
Parameters
type
query
*
taskType
query
projectId
query
projectEnvironmentId
query
deploymentId
query
kubernetesClusterId
query
environmentType
query
organizationId
path
*
Projects
GET
/api/organizations/{organizationId}/projects/
Get a list of projects for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of projects for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project",
"isMonorepo": false,
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
POST
/api/organizations/{organizationId}/projects/
Create a project for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
alternateId*
string
The project alternate id. This id is set by the user and can be used to retrieve a project.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "environments".
name*
string
The project name.
Must have a length between 1 and 100 characters.
isMonorepo
boolean
Indicates if the project is a monorepo. Defaults to false if not specified.
{
"alternateId": "my-project",
"name": "My Project",
"isMonorepo": false
}
Responses
201
Successfully created a project for an organization
id
string
The project Id.
alternateId
string
The project alternate id. This id is set by the user and can be used to retrieve a project.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "environments".
name
string
The project name.
Must have a length between 1 and 100 characters.
isMonorepo
boolean
Indicates if the project is a monorepo. Defaults to false if not specified.
organization
object
meta
object
onCall
object
{
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project",
"isMonorepo": false,
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/projects/" \
-H "Content-Type: application/json" \
-d '{ "alternateId": "my-project", "name": "My Project", "isMonorepo": false}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "alternateId": "my-project", "name": "My Project", "isMonorepo": false})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/',
headers={
'Content-Type': 'application/json'
},
json={ "alternateId": "my-project", "name": "My Project", "isMonorepo": false}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/projects/{projectId}/
Get the project for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Responses
200
Successfully got the project for an organization
id
string
The project Id.
alternateId
string
The project alternate id. This id is set by the user and can be used to retrieve a project.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "environments".
name
string
The project name.
Must have a length between 1 and 100 characters.
isMonorepo
boolean
Indicates if the project is a monorepo. Defaults to false if not specified.
organization
object
meta
object
onCall
object
{
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project",
"isMonorepo": false,
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
DELETE
/api/organizations/{organizationId}/projects/{projectId}/
Delete the project for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Responses
204
Successfully deleted the project for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
PATCH
/api/organizations/{organizationId}/projects/{projectId}/
Update the project for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Request Body application/json
name
string
The project name.
Must have a length between 1 and 100 characters.
onCall
object
isMonorepo
boolean
Flag indicating if the project is a monorepo
{
"name": "string",
"onCall": {
"isEnabled": true,
"projectEnvironmentIds": [
"string"
],
"memberId": "string"
},
"isMonorepo": true
}
Responses
200
Successfully updated the project for an organization
id
string
The project Id.
alternateId
string
The project alternate id. This id is set by the user and can be used to retrieve a project.
Must be unique within the organization.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
Must not be the word "environments".
name
string
The project name.
Must have a length between 1 and 100 characters.
isMonorepo
boolean
Indicates if the project is a monorepo. Defaults to false if not specified.
organization
object
meta
object
onCall
object
{
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project",
"isMonorepo": false,
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "onCall": { "isEnabled": true, "projectEnvironmentIds": [ "string" ], "memberId": "string" }, "isMonorepo": true}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "onCall": { "isEnabled": true, "projectEnvironmentIds": [ "string" ], "memberId": "string" }, "isMonorepo": true})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "onCall": { "isEnabled": true, "projectEnvironmentIds": [ "string" ], "memberId": "string" }, "isMonorepo": true}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
Body
POST
/api/organizations/{organizationId}/projects/{projectId}/on-call/test
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Request Body application/json
requestId*
string
{
"requestId": "string"
}
Responses
202
Default Response
id
string
organizationId
string
attemptedAt
string (date-time)
recipientMemberId
string
recipient
object
status
string
code
string
results
array(object)
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/test" \
-H "Content-Type: application/json" \
-d '{ "requestId": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/test', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "requestId": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/test',
headers={
'Content-Type': 'application/json'
},
json={ "requestId": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
Body
GET
/api/organizations/{organizationId}/projects/{projectId}/on-call/test/{testId}
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| testId * | string | path |
Responses
200
Default Response
id
string
organizationId
string
attemptedAt
string (date-time)
recipientMemberId
string
recipient
object
status
string
code
string
results
array(object)
{
"id": "string",
"organizationId": "string",
"attemptedAt": "string",
"recipientMemberId": "string",
"recipient": {
"id": "string",
"name": "string"
},
"status": "pending",
"code": "string",
"results": [
{
"channel": "slack",
"status": "pending",
"attemptedAt": "string",
"completedAt": "string",
"code": "string"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/test/{testId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/test/{testId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/test/{testId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
testId
path
*
GET
/api/organizations/{organizationId}/projects/{projectId}/on-call/setup
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Responses
200
Default Response
canManage
boolean
isAssignmentValid
boolean
environments
array(object)
candidates
array(object)
{
"canManage": true,
"isAssignmentValid": true,
"environments": [
{
"id": "string",
"name": "string"
}
],
"candidates": [
{
"id": "string",
"name": "string",
"slackStatus": "ready",
"notificationStatus": "ready"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/setup"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/setup', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/on-call/setup')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
Project Environments
GET
/api/organizations/{organizationId}/projects/{projectId}/environments/
Get a list of environments for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Responses
200
Successfully got a list of environments for a project
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "env_66bf99b72a0043f841769880",
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
projectId
path
*
POST
/api/organizations/{organizationId}/projects/{projectId}/environments/
Create an environment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Request Body application/json
alternateId*
string
The environment alternate id. This id is set by the user and can be used to retrieve an environment.
Must be unique within the project.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
name*
string
The environment name. Must be unique within the project.
Must have a length between 1 and 100 characters.
color*
string
The environment color.
Must be a valid hex color.
type*
string
The environment type. Only one environment of type "development" or "production" is allowed per project
{
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"type": "production"
}
Responses
201
Successfully created an environment for a project
id
string
The environment Id.
alternateId
string
The environment alternate id. This id is set by the user and can be used to retrieve an environment.
Must be unique within the project.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
color
string
The environment color.
Must be a valid hex color.
name
string
The environment name. Must be unique within the project.
Must have a length between 1 and 100 characters.
type
string
The environment type. Only one environment of type "development" or "production" is allowed per project
organization
object
project
object
{
"id": "env_66bf99b72a0043f841769880",
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
403
Forbidden
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because you do not have permission to create it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/" \
-H "Content-Type: application/json" \
-d '{ "alternateId": "production", "name": "Production", "color": "#00FF00", "type": "production"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "alternateId": "production", "name": "Production", "color": "#00FF00", "type": "production"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/',
headers={
'Content-Type': 'application/json'
},
json={ "alternateId": "production", "name": "Production", "color": "#00FF00", "type": "production"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
Body
GET
/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/
Get the environment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| environmentId * | string | path | The environment Id or alternate Id. |
Responses
200
Successfully got the environment for a project
id
string
The environment Id.
alternateId
string
The environment alternate id. This id is set by the user and can be used to retrieve an environment.
Must be unique within the project.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
color
string
The environment color.
Must be a valid hex color.
name
string
The environment name. Must be unique within the project.
Must have a length between 1 and 100 characters.
type
string
The environment type. Only one environment of type "development" or "production" is allowed per project
organization
object
project
object
{
"id": "env_66bf99b72a0043f841769880",
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
environmentId
path
*
DELETE
/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/
Delete the environment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| environmentId * | string | path | The environment Id or alternate Id. |
Responses
204
Successfully deleted the environment for a project
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
environmentId
path
*
PATCH
/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/
Update the environment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| environmentId * | string | path | The environment Id or alternate Id. |
Request Body application/json
name
string
The environment name. Must be unique within the project.
Must have a length between 1 and 100 characters.
color
string
The environment color.
Must be a valid hex color.
type
string
The environment type. Only one environment of type "development" or "production" is allowed per project
{
"name": "Production"
}
Responses
200
Successfully updated the environment for a project
id
string
The environment Id.
alternateId
string
The environment alternate id. This id is set by the user and can be used to retrieve an environment.
Must be unique within the project.
Must have a length between 1 and 25 characters.
Must only contain lowercase letters, numbers, hyphens, and underscores.
color
string
The environment color.
Must be a valid hex color.
name
string
The environment name. Must be unique within the project.
Must have a length between 1 and 100 characters.
type
string
The environment type. Only one environment of type "development" or "production" is allowed per project
organization
object
project
object
{
"id": "env_66bf99b72a0043f841769880",
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
}
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/" \
-H "Content-Type: application/json" \
-d '{ "name": "Production"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "Production"})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "Production"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
environmentId
path
*
Body
GET
/api/organizations/{organizationId}/projects/environments/
Get a list of environments for all projects
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of environments for all projects
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array(object)
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "env_66bf99b72a0043f841769880",
"alternateId": "production",
"name": "Production",
"color": "#00FF00",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
},
"project": {
"id": "proj_66bf99b72a0043f841769880",
"alternateId": "my-project",
"name": "My Project"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/environments/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/environments/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/environments/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
Segments
GET
/api/organizations/{organizationId}/projects/{projectId}/segments/
Get a list of segments for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| search | string | query | Search for a segment by name |
| availableFor | string | query | Filter segments available as dependencies for the specified segment ID |
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Responses
200
Successfully got a list of all segments for a project
data
array(object)
{
"data": [
{
"id": "string",
"alternateId": "string",
"name": "string",
"description": "string",
"logic": "string",
"tags": [
"string"
],
"usages": {
"toggles": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/?search={search}&availableFor={availableFor}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/?search={search}&availableFor={availableFor}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/',
params={
'search': '{search}',
'availableFor': '{availableFor}'
}
)
data = response.json()
Test Request
Parameters
search
query
availableFor
query
organizationId
path
*
projectId
path
*
POST
/api/organizations/{organizationId}/projects/{projectId}/segments/
Create a segment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Request Body application/json
alternateId*
string
The alternate ID.
name*
string
The name of the segment.
description
string
The description of the segment.
tags
array(string)
The tags of the segment.
logic*
string
The logic of the segment.
{
"alternateId": "string",
"name": "string",
"description": "string",
"tags": [
"string"
],
"logic": "string"
}
Responses
200
Successfully created a new toggle
id
string
alternateId
string
name
string
description
string
logic
string
tags
array(string)
usages
object
meta
object
{
"id": "string",
"alternateId": "string",
"name": "string",
"description": "string",
"logic": "string",
"tags": [
"string"
],
"usages": {
"toggles": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/" \
-H "Content-Type: application/json" \
-d '{ "alternateId": "string", "name": "string", "description": "string", "tags": [ "string" ], "logic": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "alternateId": "string", "name": "string", "description": "string", "tags": [ "string" ], "logic": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/',
headers={
'Content-Type': 'application/json'
},
json={ "alternateId": "string", "name": "string", "description": "string", "tags": [ "string" ], "logic": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
Body
GET
/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}
Get a segment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| segmentId * | string | path | The segment id or alternate id. |
Responses
200
Successfully got a toggle for a project
id
string
alternateId
string
name
string
description
string
logic
string
tags
array(string)
usages
object
meta
object
{
"id": "string",
"alternateId": "string",
"name": "string",
"description": "string",
"logic": "string",
"tags": [
"string"
],
"usages": {
"toggles": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
segmentId
path
*
DELETE
/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}
Delete a segment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| segmentId * | string | path | The segment id or alternate id. |
Responses
204
Successfully deleted a segment
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
segmentId
path
*
PATCH
/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}
Update a segment for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| segmentId * | string | path | The segment id or alternate id. |
Request Body application/json
name
string
The name of the segment.
description
string
The description of the segment.
tags
array(string)
The tags of the segment.
logic
string
The logic of the segment.
{
"name": "string",
"description": "string",
"tags": [
"string"
],
"logic": "string"
}
Responses
200
Successfully got a toggle for a project
id
string
alternateId
string
name
string
description
string
logic
string
tags
array(string)
usages
object
meta
object
{
"id": "string",
"alternateId": "string",
"name": "string",
"description": "string",
"logic": "string",
"tags": [
"string"
],
"usages": {
"toggles": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "description": "string", "tags": [ "string" ], "logic": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "description": "string", "tags": [ "string" ], "logic": "string"})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "description": "string", "tags": [ "string" ], "logic": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
segmentId
path
*
Body
GET
/api/organizations/{organizationId}/segments/
Get a list of segments for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| search | string | query | Search for segments by name or description |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of all segments for an organization
data
array(object)
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
{
"data": [
{
"id": "string",
"alternateId": "string",
"name": "string",
"description": "string",
"logic": "string",
"tags": [
"string"
],
"usages": {
"toggles": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
},
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"organization": {
"id": "string",
"name": "string"
}
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/segments/?pageNum={pageNum}&pageSize={pageSize}&search={search}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/segments/?pageNum={pageNum}&pageSize={pageSize}&search={search}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/segments/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'search': '{search}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
search
query
organizationId
path
*
Toggles
GET
/api/organizations/{organizationId}/projects/{projectId}/toggles/
List toggles for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Responses
200
Successfully got a list of toggles for a project
data
array(object)
{
"data": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
POST
/api/organizations/{organizationId}/projects/{projectId}/toggles/
Create a new toggle for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
Request Body application/json
key*
string
The toggle key.
description
string
The description of the toggle.
tags
array(string)
The tags of the toggle.
type*
string
The type of the toggle.
targets*
array(object)
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue*
oneOf
The default value if no target evaluates to true.
perpetual
boolean
Whether the toggle is meant to be long lived.
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true
}
Responses
200
Successfully created a new toggle
key
string
The toggle key.
description
string
The description of the toggle.
tags
array(string)
The tags of the toggle.
type
string
The type of the toggle.
targets
array(object)
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
perpetual
boolean
Whether the toggle is meant to be long lived.
meta
object
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/" \
-H "Content-Type: application/json" \
-d '{ "key": "string", "description": "string", "tags": [ "string" ], "type": "boolean", "targets": [ { "logic": "string", "value": null } ], "defaultValue": null, "perpetual": true}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "key": "string", "description": "string", "tags": [ "string" ], "type": "boolean", "targets": [ { "logic": "string", "value": null } ], "defaultValue": null, "perpetual": true})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/',
headers={
'Content-Type': 'application/json'
},
json={ "key": "string", "description": "string", "tags": [ "string" ], "type": "boolean", "targets": [ { "logic": "string", "value": null } ], "defaultValue": null, "perpetual": true}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
Body
GET
/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}
Get a toggle for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| toggleKey * | string | path | The toggle key. |
Responses
200
Successfully got a toggle for a project
id
string
The toggle Id.
key
string
The toggle key.
description
string
The description of the toggle.
tags
array(string)
The tags of the toggle.
type
string
The type of the toggle.
targets
array(object)
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
perpetual
boolean
Whether the toggle is meant to be long lived.
meta
object
{
"id": "string",
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
toggleKey
path
*
DELETE
/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}
Delete a toggle for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| toggleKey * | string | path | The toggle key. |
Responses
204
Successfully deleted a toggle
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}')
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
toggleKey
path
*
PATCH
/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}
Update a toggle for a project
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| projectId * | string | path | The project Id or alternate Id. |
| toggleKey * | string | path | The toggle key. |
Request Body application/json
description
string
The description of the toggle.
tags
array(string)
The tags of the toggle.
targets
array(object)
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
perpetual
boolean
Whether the toggle is meant to be long lived.
{
"description": "string",
"tags": [
"string"
],
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true
}
Responses
200
Successfully updated a toggle
key
string
The toggle key.
description
string
The description of the toggle.
tags
array(string)
The tags of the toggle.
type
string
The type of the toggle.
targets
array(object)
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
perpetual
boolean
Whether the toggle is meant to be long lived.
meta
object
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}" \
-H "Content-Type: application/json" \
-d '{ "description": "string", "tags": [ "string" ], "targets": [ { "logic": "string", "value": null } ], "defaultValue": null, "perpetual": true}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "description": "string", "tags": [ "string" ], "targets": [ { "logic": "string", "value": null } ], "defaultValue": null, "perpetual": true})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}',
headers={
'Content-Type': 'application/json'
},
json={ "description": "string", "tags": [ "string" ], "targets": [ { "logic": "string", "value": null } ], "defaultValue": null, "perpetual": true}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
toggleKey
path
*
Body
GET
/api/organizations/{organizationId}/toggles/
List toggles for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization ID. |
Responses
200
Successfully got a list of toggles for an organization
data
array(object)
{
"data": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"perpetual": true,
"meta": {
"createdAt": "2024-07-08T15:58:34.219+00:00",
"createdBy": "string",
"modifiedAt": "2024-07-08T15:58:34.219+00:00",
"modifiedBy": "string",
"deletedAt": "2024-07-08T15:58:34.219+00:00",
"deletedBy": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/toggles/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/toggles/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/toggles/')
data = response.json()
Test Request
Parameters
organizationId
path
*
Teams
GET
/api/organizations/{organizationId}/teams/
Get a list of teams for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| name | string | query | Filter by team name starts with (case insensitive) |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully got a list of teams for an organization
data
array(object)
{
"data": [
{
"id": "string",
"name": "string",
"type": "static",
"memberCount": 0,
"organization": {
"id": "string",
"name": "string"
},
"criteria": [
null
],
"distributionList": {
"name": "string",
"email": "string"
},
"channels": [
{
"id": "string",
"type": "slack"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/teams/?name={name}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/?name={name}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/teams/',
params={
'name': '{name}'
}
)
data = response.json()
Test Request
Parameters
name
query
organizationId
path
*
POST
/api/organizations/{organizationId}/teams/
Create a team for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
name*
string
The name of the team
type
string
The type of the team
memberCount
number
The number of members in the team
channels
array(object)
criteria
array(object)
{
"name": "string",
"type": "static",
"memberCount": 0,
"channels": [
{
"id": "string",
"type": "slack"
}
],
"criteria": [
{
"type": "property",
"field": "firstName",
"value": "string",
"operator": "equals"
}
]
}
Responses
201
Successfully created a team for an organization
id
string
The team Id.
name
string
The name of the team
type
string
The type of the team
memberCount
number
The number of members in the team
organization
object
criteria
array(any)
distributionList
object
channels
array(object)
{
"id": "string",
"name": "string",
"type": "static",
"memberCount": 0,
"organization": {
"id": "string",
"name": "string"
},
"criteria": [
null
],
"distributionList": {
"name": "string",
"email": "string"
},
"channels": [
{
"id": "string",
"type": "slack"
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "The resource could not be created because of a conflict.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/teams/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "type": "static", "memberCount": 0, "channels": [ { "id": "string", "type": "slack" } ], "criteria": [ { "type": "property", "field": "firstName", "value": "string", "operator": "equals" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "type": "static", "memberCount": 0, "channels": [ { "id": "string", "type": "slack" } ], "criteria": [ { "type": "property", "field": "firstName", "value": "string", "operator": "equals" } ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/teams/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "type": "static", "memberCount": 0, "channels": [ { "id": "string", "type": "slack" } ], "criteria": [ { "type": "property", "field": "firstName", "value": "string", "operator": "equals" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/teams/{teamId}/
Get the team for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| teamId * | string | path | The team Id. |
Responses
200
Successfully got the team for an organization
id
string
The team Id.
name
string
The name of the team
type
string
The type of the team
memberCount
number
The number of members in the team
organization
object
criteria
array(any)
distributionList
object
channels
array(object)
{
"id": "string",
"name": "string",
"type": "static",
"memberCount": 0,
"organization": {
"id": "string",
"name": "string"
},
"criteria": [
null
],
"distributionList": {
"name": "string",
"email": "string"
},
"channels": [
{
"id": "string",
"type": "slack"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
teamId
path
*
DELETE
/api/organizations/{organizationId}/teams/{teamId}/
Delete the team for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| teamId * | string | path | The team Id. |
Responses
204
Successfully deleted the team for an organization
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
teamId
path
*
PATCH
/api/organizations/{organizationId}/teams/{teamId}/
Update the team for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| teamId * | string | path | The team Id. |
Request Body application/json
name*
string
The name of the team
type
string
The type of the team
memberCount
number
The number of members in the team
channels
array(object)
criteria
array(object)
{
"name": "string",
"type": "static",
"memberCount": 0,
"channels": [
{
"id": "string",
"type": "slack"
}
],
"criteria": [
{
"type": "property",
"field": "firstName",
"value": "string",
"operator": "equals"
}
]
}
Responses
200
Successfully updated the team for an organization
id
string
The team Id.
name
string
The name of the team
type
string
The type of the team
memberCount
number
The number of members in the team
organization
object
criteria
array(any)
distributionList
object
channels
array(object)
{
"id": "string",
"name": "string",
"type": "static",
"memberCount": 0,
"organization": {
"id": "string",
"name": "string"
},
"criteria": [
null
],
"distributionList": {
"name": "string",
"email": "string"
},
"channels": [
{
"id": "string",
"type": "slack"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
404
Not Found
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Resource with id 'a1b2c3d4' not found or you do not have permission to access it.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/" \
-H "Content-Type: application/json" \
-d '{ "name": "string", "type": "static", "memberCount": 0, "channels": [ { "id": "string", "type": "slack" } ], "criteria": [ { "type": "property", "field": "firstName", "value": "string", "operator": "equals" } ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "name": "string", "type": "static", "memberCount": 0, "channels": [ { "id": "string", "type": "slack" } ], "criteria": [ { "type": "property", "field": "firstName", "value": "string", "operator": "equals" } ]})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/',
headers={
'Content-Type': 'application/json'
},
json={ "name": "string", "type": "static", "memberCount": 0, "channels": [ { "id": "string", "type": "slack" } ], "criteria": [ { "type": "property", "field": "firstName", "value": "string", "operator": "equals" } ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
teamId
path
*
Body
GET
/api/organizations/{organizationId}/teams/{teamId}/members
Get a list of members for a team
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| teamId * | string | path | The team Id. |
Responses
200
Successfully got a list of members for a team
data
array(object)
{
"data": [
{
"id": "memb_66bf99b72a0043f841769880",
"firstName": "John",
"lastName": "Doe",
"nickname": "John Doe",
"email": "[email protected]",
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "Organization Name"
},
"connectedAccounts": [
{
"type": "github",
"identifier": "hyphenated-username",
"profileUrl": "https://github.com/hyphenated-username"
},
{
"type": "npm",
"identifier": "npm-username",
"email": "[email protected]"
},
{
"type": "newRelic",
"identifier": "newrelic-userid",
"email": "[email protected]"
},
{
"type": "incidentIo",
"identifier": "incident-io-userid",
"email": "[email protected]"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members')
data = response.json()
Test Request
Parameters
organizationId
path
*
teamId
path
*
PUT
/api/organizations/{organizationId}/teams/{teamId}/members
Replace the members for a team
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| teamId * | string | path | The team Id. |
Request Body application/json
{}
Responses
202
Successfully replaced the members for a team
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "Unable to validate JWT. Please make sure a valid JWT is sent as an Authorization header or access token cookie.",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
500
Internal Server Error
message
string
requestId
string
errorCode
string
errors
array(string)
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PUT "https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members" \
-H "Content-Type: application/json" \
-d '{}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
import requests
response = requests.put(
'https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members',
headers={
'Content-Type': 'application/json'
},
json={}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
teamId
path
*
Body
DELETE
/api/organizations/{organizationId}/teams/{teamId}/members/{memberId}
Delete the member from a team
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | |
| teamId * | string | path | |
| memberId * | string | path |
Responses
200
Default Response
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members/{memberId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members/{memberId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/teams/{teamId}/members/{memberId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
teamId
path
*
memberId
path
*
Public Keys
GET
/api/public-keys/
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId | string | query | |
| projectId | string | query | The project Id or alternate Id. |
Responses
200
Default Response
curl -X GET "https://api.hyphen.ai/api/public-keys/?organizationId={organizationId}&projectId={projectId}"
const response = await fetch('https://api.hyphen.ai/api/public-keys/?organizationId={organizationId}&projectId={projectId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/public-keys/',
params={
'organizationId': '{organizationId}',
'projectId': '{projectId}'
}
)
data = response.json()
Test Request
Parameters
organizationId
query
projectId
query
POST
/api/public-keys/
Request Body application/json
organizationId*
string
projectId*
string
name*
string
{
"organizationId": "string",
"projectId": "string",
"name": "string"
}
Responses
200
Default Response
curl -X POST "https://api.hyphen.ai/api/public-keys/" \
-H "Content-Type: application/json" \
-d '{ "organizationId": "string", "projectId": "string", "name": "string"}'
const response = await fetch('https://api.hyphen.ai/api/public-keys/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "organizationId": "string", "projectId": "string", "name": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/public-keys/',
headers={
'Content-Type': 'application/json'
},
json={ "organizationId": "string", "projectId": "string", "name": "string"}
)
data = response.json()
Test Request
Body
GET
/api/public-keys/{id}
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| id * | string | path | Public Key ID or the Key itself |
Responses
200
Default Response
curl -X GET "https://api.hyphen.ai/api/public-keys/{id}"
const response = await fetch('https://api.hyphen.ai/api/public-keys/{id}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/public-keys/{id}')
data = response.json()
Test Request
Parameters
id
path
*