Hyphen API
v1.0.0Hyphen API explorer
Server
https://api.hyphen.ai
Authorization
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
{
"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
}
]
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
The payment methods.
subscription
object
The billing subscription.
owners
array
The billing owners.
invoices
array
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
}
]
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
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
The payment methods.
subscription
object
The billing subscription.
owners
array
The billing owners.
invoices
array
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
}
]
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
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": {
"total": 100
}
}
}
],
"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": {
"total": 100
}
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
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
{
"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
{
"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
{
"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
{
"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
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
{
"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
{
"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
{
"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
{
"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
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
The payment methods.
subscription
object
The billing subscription.
owners
array
The billing owners.
invoices
array
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
}
]
},
"owners": [
{
"userId": "string",
"name": "string",
"email": "string"
}
],
"invoices": [
{
"providerId": "string",
"amount": 0,
"createdDate": "string",
"subTotal": 0,
"total": 0,
"discount": 0,
"status": "Draft",
"periodEnd": "string",
"periodStart": "string",
"cycleId": 0,
"tax": 0,
"dueDate": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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/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
string
URL to view the HTTP invoice
pdf
string
URL to download the PDF invoice
{
"http": "string",
"pdf": "string"
}
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
*
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
{
"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
{
"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
{
"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
{
"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
*
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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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/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
string
URL to view the HTTP invoice
pdf
string
URL to download the PDF invoice
{
"http": "string",
"pdf": "string"
}
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
*
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
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
{
"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
{
"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
{
"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
*
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
{
"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
{
"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
{
"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
Integrations
GET
/api/integrations/
Get a list of integrations
Responses
200
Successfully got a list of available integrations
data
array
{
"data": [
{
"type": "aws",
"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
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
The type of events to filter by.
references
array
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
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
{
"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
{
"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
{
"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
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
*
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
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
billingAccount*
oneOf
createDefaultProject
boolean
Flag to create a default project when no project is specified.
{
"name": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string"
}
],
"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
billingAccount
object
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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" } ], "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" } ], "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" } ], "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
billingAccount
object
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string"
}
],
"billingAccount": {
"id": "string",
"name": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"name": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string"
}
]
}
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
billingAccount
object
{
"id": "string",
"name": "string",
"logoUrl": "string",
"defaultEnvironments": [
{
"name": "string",
"alternateId": "string",
"color": "string"
}
],
"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" } ]}'
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" } ]})
});
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" } ]}
)
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
{
"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
{
"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
{
"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": {
"total": 5
}
},
"organization": {
"id": "string",
"name": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
*
Apps
GET
/api/organizations/{organizationId}/apps/
Get a list of apps for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| projectIds | array |
query | The project Ids or alternate Ids. |
| appIds | array |
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
{
"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"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
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
{
"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
{
"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
{
"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
{
"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
*
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
{
"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"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"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
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.
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
{
"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
{
"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
{
"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
*
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 |
query | The entity Ids. |
| assignmentIds | array |
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
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
null
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
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
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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
roles
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
*
Domains
GET
/api/organizations/{organizationId}/domains/
Get a list of domains 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 domains for an organization
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"domain": "string",
"status": "notReady",
"dnsStatus": "pending",
"sslStatus": "notReady",
"createdAt": "string",
"notFoundRedirectUrl": "string",
"fallbackUrlTemplate": "https://example.com/{code}",
"organization": {
"id": "string",
"name": "string"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/domains/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/domains/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/domains/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
POST
/api/organizations/{organizationId}/domains/
Create domains for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
domain*
string (hostname)
The domain name.
notFoundRedirectUrl
string (uri)
The URL to redirect to when the short link is not found.
fallbackUrlTemplate
string
The URL template to use when the short link is not found.
{
"domain": "string",
"notFoundRedirectUrl": "string",
"fallbackUrlTemplate": "https://example.com/{code}"
}
Responses
201
Successfully created a domain for an organization
id
string
The domain Id.
domain
string (hostname)
The domain name.
status
string
The status of the domain.
dnsStatus
string
The DNS status of the domain.
sslStatus
string
The SSL status of the domain.
createdAt
string
The date the domain was created.
notFoundRedirectUrl
string (uri)
The URL to redirect to when the short link is not found.
fallbackUrlTemplate
string
The URL template to use when the short link is not found.
organization
object
{
"id": "string",
"domain": "string",
"status": "notReady",
"dnsStatus": "pending",
"sslStatus": "notReady",
"createdAt": "string",
"notFoundRedirectUrl": "string",
"fallbackUrlTemplate": "https://example.com/{code}",
"organization": {
"id": "string",
"name": "string"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/domains/" \
-H "Content-Type: application/json" \
-d '{ "domain": "string", "notFoundRedirectUrl": "string", "fallbackUrlTemplate": "https://example.com/{code}"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/domains/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "domain": "string", "notFoundRedirectUrl": "string", "fallbackUrlTemplate": "https://example.com/{code}"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/domains/',
headers={
'Content-Type': 'application/json'
},
json={ "domain": "string", "notFoundRedirectUrl": "string", "fallbackUrlTemplate": "https://example.com/{code}"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
DELETE
/api/organizations/{organizationId}/domains/{domainId}/
Delete a domain for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| domainId * | string | path | The domain Id. |
Responses
204
Successfully deleted the domain for an organization
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
domainId
path
*
PATCH
/api/organizations/{organizationId}/domains/{domainId}/
Update the domain for an organization
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| domainId * | string | path | The domain Id. |
Request Body application/json
notFoundRedirectUrl
string (uri)
The URL to redirect to when the short link is not found.
fallbackUrlTemplate
string
The URL template to use when the short link is not found.
{
"notFoundRedirectUrl": "string",
"fallbackUrlTemplate": "https://example.com/{code}"
}
Responses
200
Successfully updated a domain for an organization
id
string
The domain Id.
domain
string (hostname)
The domain name.
status
string
The status of the domain.
dnsStatus
string
The DNS status of the domain.
sslStatus
string
The SSL status of the domain.
createdAt
string
The date the domain was created.
notFoundRedirectUrl
string (uri)
The URL to redirect to when the short link is not found.
fallbackUrlTemplate
string
The URL template to use when the short link is not found.
organization
object
{
"id": "string",
"domain": "string",
"status": "notReady",
"dnsStatus": "pending",
"sslStatus": "notReady",
"createdAt": "string",
"notFoundRedirectUrl": "string",
"fallbackUrlTemplate": "https://example.com/{code}",
"organization": {
"id": "string",
"name": "string"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/" \
-H "Content-Type: application/json" \
-d '{ "notFoundRedirectUrl": "string", "fallbackUrlTemplate": "https://example.com/{code}"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "notFoundRedirectUrl": "string", "fallbackUrlTemplate": "https://example.com/{code}"})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/',
headers={
'Content-Type': 'application/json'
},
json={ "notFoundRedirectUrl": "string", "fallbackUrlTemplate": "https://example.com/{code}"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
domainId
path
*
Body
POST
/api/organizations/{organizationId}/domains/{domainId}/verify
Verify DNS for a domain
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| domainId * | string | path | The domain Id. |
Responses
200
Successfully got the domain for an organization
verified
boolean
{
"verified": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/verify"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/verify', {
method: 'POST'
});
const data = await response.json();
import requests
response = requests.post('https://api.hyphen.ai/api/organizations/{organizationId}/domains/{domainId}/verify')
data = response.json()
Test Request
Parameters
organizationId
path
*
domainId
path
*
Organization Integrations
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
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
{
"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
{
"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
{
"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 project Id.
provides
array
{
"id": "string",
"provides": [
{
"connectionType": "DistributionList",
"for": [
"Organization"
]
}
]
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
subscriptions
array
{
"tenants": [
{
"id": "string",
"name": "string"
}
],
"subscriptions": [
{
"id": "string",
"name": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
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
{
"type": "slack",
"codeChallenge": "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
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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"}'
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"})
});
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"}
)
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 project Id.
provides
array
{
"id": "string",
"provides": [
{
"connectionType": "DistributionList",
"for": [
"Organization"
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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}/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
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
{
"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
{
"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
{
"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
{
"data": [
{
"id": "string",
"name": "string"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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 |
query | The project Ids. |
| integrationIds | array |
query | The integration Ids. |
| integrationTypes | array |
query | The integration types. |
| entityIds | array |
query | The entity Ids. |
| types | array |
query | The connection types. |
| connectionIds | array |
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
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": "aws"
},
"config": {
"key": "value"
},
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"errors": [
"string"
],
"input": "string",
"verification": {
"emails": [
"string"
]
},
"isRetryable": true
}
],
"total": 0,
"pageNum": 0,
"pageSize": 0
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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 |
query | The entity connection Ids. |
| assignmentConnectionIds | array |
query | The assignment connection Ids. |
| entityIds | array |
query | The connection entity Ids. |
| assignmentIds | array |
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
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
{
"data": [
{
"id": "string",
"status": "Pending",
"integrationType": "aws",
"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
{
"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
{
"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
{
"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.
{
"type": "DistributionList",
"entity": {
"id": "string"
},
"input": "string"
}
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
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": "aws"
},
"config": {
"key": "value"
},
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"errors": [
"string"
],
"input": "string",
"verification": {
"emails": [
"string"
]
},
"isRetryable": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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"}'
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"})
});
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"}
)
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
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": "aws"
},
"config": {
"key": "value"
},
"organization": {
"id": "string",
"name": "string"
},
"project": {
"id": "string",
"alternateId": "string",
"name": "string"
},
"errors": [
"string"
],
"input": "string",
"verification": {
"emails": [
"string"
]
},
"isRetryable": true
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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 |
|---|---|---|---|
| decommissionRemoteResources | boolean | 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
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/?decommissionRemoteResources={decommissionRemoteResources}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/?decommissionRemoteResources={decommissionRemoteResources}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete(
'https://api.hyphen.ai/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/',
params={
'decommissionRemoteResources': '{decommissionRemoteResources}'
}
)
data = response.json()
Test Request
Parameters
decommissionRemoteResources
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
{
"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
{
"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
{
"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
.Env Files
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 |
query | The project Ids or alternate Ids. |
| appIds | array |
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
{
"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
{
"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
{
"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
{
"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 |
query | The project Ids. |
| organizationId * | string | path | The organization Id. |
Responses
200
Successfully retrieved environment summary for the organization
data
array
{
"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"
}
]
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
*
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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
*
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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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.
isMonorepo
boolean
Flag indicating if the project is a monorepo
{
"name": "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
{
"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
{
"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
{
"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
{
"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", "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", "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", "isMonorepo": true}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
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
{
"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
{
"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
{
"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
{
"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
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.
favorites
array
The member favorite items.
connectedAccounts
array
The connected accounts of the member.
organizationRoles
array
teams
array
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
{
"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
{
"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
{
"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
{
"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.
favorites
array
The member favorite items.
connectedAccounts
array
The connected accounts of the member.
organizationRoles
array
teams
array
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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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.
{
"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.
favorites
array
The member favorite items.
connectedAccounts
array
The connected accounts of the member.
organizationRoles
array
teams
array
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
{
"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
{
"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
{
"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
The member favorite items.
{
"favorites": [
null
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
Segments
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
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,
"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
{
"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
{
"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
{
"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
*
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
{
"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,
"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
{
"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
{
"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
{
"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
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
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,
"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
{
"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
{
"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
{
"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
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,
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
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
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,
"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
{
"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
{
"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
{
"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
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
{
"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
{
"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
{
"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
criteria
array
{
"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
distributionList
object
channels
array
{
"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
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
{
"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
distributionList
object
channels
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
criteria
array
{
"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
distributionList
object
channels
array
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
*
Toggles
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
{
"data": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"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
{
"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
{
"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
{
"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
*
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
{
"data": [
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"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
{
"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
{
"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
{
"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
The tags of the toggle.
type*
string
The type of the toggle.
targets*
array
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue*
oneOf
The default value if no target evaluates to true.
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null
}
Responses
200
Successfully created a new toggle
key
string
The toggle key.
description
string
The description of the toggle.
tags
array
The tags of the toggle.
type
string
The type of the toggle.
targets
array
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
meta
object
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"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
{
"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
{
"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
{
"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}'
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})
});
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}
)
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
The tags of the toggle.
type
string
The type of the toggle.
targets
array
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
meta
object
{
"id": "string",
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
The tags of the toggle.
targets
array
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
{
"description": "string",
"tags": [
"string"
],
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null
}
Responses
200
Successfully updated a toggle
key
string
The toggle key.
description
string
The description of the toggle.
tags
array
The tags of the toggle.
type
string
The type of the toggle.
targets
array
The targets of the toggle. Targets are ORed together and evaluated in order.
defaultValue
oneOf
The default value if no target evaluates to true.
meta
object
{
"key": "string",
"description": "string",
"tags": [
"string"
],
"type": "boolean",
"targets": [
{
"logic": "string",
"value": null
}
],
"defaultValue": null,
"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
{
"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
{
"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
{
"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}'
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})
});
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}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
projectId
path
*
toggleKey
path
*
Body
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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
*
URL Codes
GET
/api/organizations/{organizationId}/link/codes/
Get a list of short URLs
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| search | string | query | Search keyword across code, long_url and title. |
| tags | string | query | The tags. |
| 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
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "code_668c0caa4d43eac7e6570254",
"code": "code",
"long_url": "https://hyphen.ai/page1",
"domain": "example.com",
"title": "My Short Link",
"tags": [
"Tag 1",
"Tag 2"
],
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
}
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/?pageNum={pageNum}&pageSize={pageSize}&search={search}&tags={tags}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/?pageNum={pageNum}&pageSize={pageSize}&search={search}&tags={tags}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}',
'search': '{search}',
'tags': '{tags}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
search
query
tags
query
organizationId
path
*
POST
/api/organizations/{organizationId}/link/codes/
Create a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Request Body application/json
long_url*
string (uri)
The url to shorten. Must start with http or https.
domain
string
The domain to use for the short URL. If not provided, the first created domain for the organization will be used.
code
string
title
string
tags
array
{
"long_url": "https://hyphen.ai/page1",
"domain": "example.com",
"code": "L4IQHdh4",
"title": "The short link title",
"tags": [
"Tag 1"
]
}
Responses
201
Default Response
id
string
The short link id
long_url
string (uri)
The url to shorten. Must start with http or https.
domain
string
code
string
title
string
tags
array
organization
object
meta
object
{
"id": "code_668c0caa4d43eac7e6570254",
"code": "code",
"long_url": "https://hyphen.ai/page1",
"domain": "example.com",
"title": "My Short Link",
"tags": [
"Tag 1",
"Tag 2"
],
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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"
}
409
Conflict
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/" \
-H "Content-Type: application/json" \
-d '{ "long_url": "https://hyphen.ai/page1", "domain": "example.com", "code": "L4IQHdh4", "title": "The short link title", "tags": [ "Tag 1" ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "long_url": "https://hyphen.ai/page1", "domain": "example.com", "code": "L4IQHdh4", "title": "The short link title", "tags": [ "Tag 1" ]})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/',
headers={
'Content-Type': 'application/json'
},
json={ "long_url": "https://hyphen.ai/page1", "domain": "example.com", "code": "L4IQHdh4", "title": "The short link title", "tags": [ "Tag 1" ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
Body
GET
/api/organizations/{organizationId}/link/codes/tags
Get a list of tags for all short URLs
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
Responses
200
List of unique tags
(items)
string
[
"Tag 1"
]
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/tags"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/tags', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/tags')
data = response.json()
Test Request
Parameters
organizationId
path
*
GET
/api/organizations/{organizationId}/link/codes/{codeId}/
Get a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
Responses
200
Successfully got a short url
id
string
The short link id
long_url
string (uri)
The url to shorten. Must start with http or https.
domain
string
code
string
title
string
tags
array
organization
object
meta
object
{
"id": "code_668c0caa4d43eac7e6570254",
"code": "code",
"long_url": "https://hyphen.ai/page1",
"domain": "example.com",
"title": "My Short Link",
"tags": [
"Tag 1",
"Tag 2"
],
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
}
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
codeId
path
*
DELETE
/api/organizations/{organizationId}/link/codes/{codeId}/
Delete a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
Responses
204
Successfully delete a short URL
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/')
data = response.json()
Test Request
Parameters
organizationId
path
*
codeId
path
*
PATCH
/api/organizations/{organizationId}/link/codes/{codeId}/
Update a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
Request Body application/json
long_url
string (uri)
The url to shorten. Must start with http or https.
title
string
tags
array
{
"long_url": "https://hyphen.ai/page1",
"title": "The short link title",
"tags": [
"Tag 1"
]
}
Responses
200
Successfully updated a short link
id
string
The short link id
long_url
string (uri)
The url to shorten. Must start with http or https.
domain
string
code
string
title
string
tags
array
organization
object
meta
object
{
"id": "code_668c0caa4d43eac7e6570254",
"code": "code",
"long_url": "https://hyphen.ai/page1",
"domain": "example.com",
"title": "My Short Link",
"tags": [
"Tag 1",
"Tag 2"
],
"meta": {
"createdAt": "2025-01-14T22:56:14.234Z",
"createdBy": "memb_66f30abb67ebc6bb0c5e0af9"
},
"organization": {
"id": "org_66bf99b72a0043f841769880",
"name": "My Org"
}
}
400
Bad Request
message
string
requestId
string
errorCode
string
errors
array
{
"message": "Invalid request body or query parameters",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X PATCH "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/" \
-H "Content-Type: application/json" \
-d '{ "long_url": "https://hyphen.ai/page1", "title": "The short link title", "tags": [ "Tag 1" ]}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "long_url": "https://hyphen.ai/page1", "title": "The short link title", "tags": [ "Tag 1" ]})
});
const data = await response.json();
import requests
response = requests.patch(
'https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/',
headers={
'Content-Type': 'application/json'
},
json={ "long_url": "https://hyphen.ai/page1", "title": "The short link title", "tags": [ "Tag 1" ]}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
codeId
path
*
Body
GET
/api/organizations/{organizationId}/link/codes/{codeId}/stats
Get the stats for a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| startDate * | string (date-time) | query | |
| endDate * | string (date-time) | query | |
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
Responses
200
Successfully got the stats for a link code
clicks
object
referrals
array
browsers
array
devices
array
locations
array
{
"clicks": {
"total": 100,
"unique": 50,
"byDay": [
{
"date": "2021-01-01",
"total": 10,
"unique": 5
}
]
},
"referrals": [
{
"url": "https://example.com",
"total": 10
}
],
"browsers": [
{
"name": "Chrome",
"total": 50
}
],
"devices": [
{
"name": "Desktop",
"total": 50
}
],
"locations": [
{
"country": "US",
"total": 50,
"unique": 25
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/stats?startDate={startDate}&endDate={endDate}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/stats?startDate={startDate}&endDate={endDate}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/stats',
params={
'startDate': '{startDate}',
'endDate': '{endDate}'
}
)
data = response.json()
Test Request
Parameters
startDate
query
*
endDate
query
*
organizationId
path
*
codeId
path
*
Project Environments
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
{
"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
{
"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
{
"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
*
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
{
"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
{
"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
{
"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.
{
"alternateId": "production",
"name": "Production",
"color": "#00FF00"
}
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.
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
{
"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
{
"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
{
"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
{
"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
{
"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"}'
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"})
});
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"}
)
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.
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
{
"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
{
"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
{
"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.
{
"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.
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
Runs
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
workflowId
string
The identifier of the workflow associated with the run.
timing
object
The timing information for the run execution.
data
oneOf
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"references": [
{
"type": "BillingAccount",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"data": null
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
*
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. |
| 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
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"references": [
{
"type": "BillingAccount",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"data": null
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/?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}/runs/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
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
type*
string
targetBranch
string
The target branch for the run.
{
"type": "deployment",
"targetBranch": "string"
}
Responses
200
Run created successfully
id
string
The unique identifier for the run.
organization
object
status
string
type
string
references
array
workflowId
string
The identifier of the workflow associated with the run.
timing
object
The timing information for the run execution.
data
oneOf
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"references": [
{
"type": "BillingAccount",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"data": null
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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 '{ "type": "deployment", "targetBranch": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/apps/{appId}/runs/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ "type": "deployment", "targetBranch": "string"})
});
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={ "type": "deployment", "targetBranch": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
appId
path
*
Body
GET
/api/organizations/{organizationId}/apps/{appId}/runs/{runId}/
Get a run by Id
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
references
array
workflowId
string
The identifier of the workflow associated with the run.
timing
object
The timing information for the run execution.
data
oneOf
{
"id": "string",
"organization": {
"id": "string",
"name": "string"
},
"status": "pending",
"type": "deployment",
"references": [
{
"type": "BillingAccount",
"id": "string"
}
],
"workflowId": "string",
"timing": {
"startTime": "string",
"endTime": "string"
},
"data": null
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"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
*
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
{
"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
{
"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
{
"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
*
QR Codes
GET
/api/organizations/{organizationId}/link/codes/{codeId}/qrs/
Get a list of QRs for a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| pageNum | integer | query | The page number. |
| pageSize | integer | query | The page size. |
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
Responses
200
Successfully got a list of QR codes for a short url
total
number
The total number of records.
pageNum
number
The page number.
pageSize
number
The page size.
data
array
{
"total": 0,
"pageNum": 0,
"pageSize": 0,
"data": [
{
"id": "lqr_66fc51fe144cf3a1bd2a35b1",
"title": "My QR Code",
"qrCode": "data:image/png;base64,iVBORw0KGgoA...",
"qrLink": "https://example.com/qr/lqr_66fc51fe144cf3a1bd2a35b1"
}
]
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/?pageNum={pageNum}&pageSize={pageSize}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/?pageNum={pageNum}&pageSize={pageSize}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get(
'https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/',
params={
'pageNum': '{pageNum}',
'pageSize': '{pageSize}'
}
)
data = response.json()
Test Request
Parameters
pageNum
query
pageSize
query
organizationId
path
*
codeId
path
*
POST
/api/organizations/{organizationId}/link/codes/{codeId}/qrs/
Create a QR code for a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
Request Body multipart/form-data
title
object
The title of the QR code
backgroundColor
object
The background color of the QR code
color
object
The color of the QR code
size
object
The size of the QR code
logo
string (binary)
The logo to be displayed in the QR code (max 1MB)
{
"title": "My QR Code",
"backgroundColor": "#FFFFFF",
"color": "#000000",
"size": "small",
"logo": "string"
}
Responses
201
Successfully created a QR code for a short url
id
string
The QR code id
title
string
The QR code title
qrCode
string
The QR code image
qrLink
string
The QR code link
{
"id": "lqr_66fc51fe144cf3a1bd2a35b1",
"title": "My QR Code",
"qrCode": "data:image/png;base64,iVBORw0KGgoA...",
"qrLink": "https://example.com/qr/lqr_66fc51fe144cf3a1bd2a35b1"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X POST "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/" \
-H "Content-Type: multipart/form-data" \
-d '{ "title": "My QR Code", "backgroundColor": "#FFFFFF", "color": "#000000", "size": "small", "logo": "string"}'
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/', {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data'
},
body: JSON.stringify({ "title": "My QR Code", "backgroundColor": "#FFFFFF", "color": "#000000", "size": "small", "logo": "string"})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/',
headers={
'Content-Type': 'multipart/form-data'
},
json={ "title": "My QR Code", "backgroundColor": "#FFFFFF", "color": "#000000", "size": "small", "logo": "string"}
)
data = response.json()
Test Request
Parameters
organizationId
path
*
codeId
path
*
Body
GET
/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}
Get a QR code for a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
| qrId * | string | path | The QR code id |
Responses
200
Successfully got a QR code for a shor url
id
string
The QR code id
title
string
The QR code title
qrCode
string
The QR code image
qrLink
string
The QR code link
{
"id": "lqr_66fc51fe144cf3a1bd2a35b1",
"title": "My QR Code",
"qrCode": "data:image/png;base64,iVBORw0KGgoA...",
"qrLink": "https://example.com/qr/lqr_66fc51fe144cf3a1bd2a35b1"
}
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X GET "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}', {
method: 'GET'
});
const data = await response.json();
import requests
response = requests.get('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
codeId
path
*
qrId
path
*
DELETE
/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}
Delete a QR for a short URL
Parameters
| Name | Type | In | Description |
|---|---|---|---|
| organizationId * | string | path | The organization Id. |
| codeId * | string | path | The short link id |
| qrId * | string | path | The QR code id |
Responses
204
Successfully deleted a QR code
401
Unauthorized
message
string
requestId
string
errorCode
string
errors
array
{
"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
{
"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
{
"message": "An unknown error occurred",
"requestId": "a1b2c3d4",
"errorCode": "a1b2c3d4"
}
curl -X DELETE "https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}"
const response = await fetch('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}', {
method: 'DELETE'
});
const data = await response.json();
import requests
response = requests.delete('https://api.hyphen.ai/api/organizations/{organizationId}/link/codes/{codeId}/qrs/{qrId}')
data = response.json()
Test Request
Parameters
organizationId
path
*
codeId
path
*
qrId
path
*