Hyphen API

v1.0.0

Hyphen 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
GET
/api/billing-accounts/
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
GET
/api/billing-accounts/{billingAccountId}/
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
PATCH
/api/billing-accounts/{billingAccountId}/
billingAccountId path *
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
GET
/api/billing-accounts/{billingAccountId}/usage
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
PUT
/api/billing-accounts/{billingAccountId}/subscription/status
billingAccountId path *
POST /api/billing-accounts/{billingAccountId}/owners/ Create an owner for a billing account
Parameters
Name Type In Description
billingAccountId * string path The billing account Id.
Request Body application/json
email* string (email) The owner email address
{
  "email": "string"
}
Responses
200 Successfully created an owner
userId string The user Id.
name string The owner full name.
email string (email) The owner email address
{
  "userId": "string",
  "name": "string",
  "email": "string"
}
401 Unauthorized
message string
requestId string
errorCode string
errors array
{
  "message": "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
POST
/api/billing-accounts/{billingAccountId}/owners/
billingAccountId path *
POST /api/billing-accounts/{billingAccountId}/payment-methods/ Create a payment method for a billing account
Parameters
Name Type In Description
billingAccountId * string path The billing account Id.
Request Body application/json
confirmationToken* string The confirmation token for the payment method
{
  "confirmationToken": "string"
}
Responses
200 Successfully created a payment method
providerId string The payment method provider Id.
type string The payment method type.
last4 string The last four digits of credit card or bank account
cardType string The card type.
expiration string The expiration date of the card.
isDefault boolean The default payment method.
{
  "providerId": "string",
  "type": "Card",
  "last4": "string",
  "cardType": "Visa",
  "expiration": "string",
  "isDefault": true
}
401 Unauthorized
message string
requestId string
errorCode string
errors array
{
  "message": "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
POST
/api/billing-accounts/{billingAccountId}/payment-methods/
billingAccountId path *
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
GET
/api/organizations/{organizationId}/billing-account/
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
GET
/api/billing-accounts/{billingAccountId}/invoices/{invoiceProviderId}/urls
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
DELETE
/api/billing-accounts/{billingAccountId}/owners/{userId}/
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
DELETE
/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/
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
PATCH
/api/billing-accounts/{billingAccountId}/payment-methods/{providerId}/
billingAccountId path *
providerId path *
GET /api/organizations/{organizationId}/billing-account/invoices/{invoiceProviderId}/urls Get urls for invoice
Parameters
Name Type In Description
organizationId * string path The organization Id.
invoiceProviderId * string path The invoice provider Id.
Responses
200 Default Response
http 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
GET
/api/organizations/{organizationId}/billing-account/invoices/{invoiceProviderId}/urls
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
GET
/api/auth/login
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
GET
/api/auth/token-exchange
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
POST
/api/auth/jwt-refresh
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
GET
/api/auth/logout
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
POST
/api/auth/m2m

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
GET
/api/downloads/{packageName}/{version}
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
GET
/api/downloads/{packageName}/versions
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
GET
/api/me/

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
GET
/api/integrations/

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
POST
/api/events/{organizationId}/search
organizationId path *

Public Keys

GET /api/public-keys/
Parameters
Name Type In Description
organizationId string query
projectId string query The project Id or alternate Id.
Responses
200 Default Response
curl -X GET "https://api.hyphen.ai/api/public-keys/?organizationId={organizationId}&projectId={projectId}"
const response = await fetch('https://api.hyphen.ai/api/public-keys/?organizationId={organizationId}&projectId={projectId}', {
  method: 'GET'
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.hyphen.ai/api/public-keys/',
    params={
    'organizationId': '{organizationId}',
    'projectId': '{projectId}'
    }
)
data = response.json()
Test Request
GET
/api/public-keys/
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
POST
/api/public-keys/
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
GET
/api/public-keys/{id}
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
GET
/api/organizations/
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
POST
/api/organizations/
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
GET
/api/organizations/{organizationId}/
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
PATCH
/api/organizations/{organizationId}/
organizationId path *
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
GET
/api/organizations/{organizationId}/usage
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
GET
/api/organizations/{organizationId}/apps/
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
GET
/api/organizations/{organizationId}/apps/{appId}/
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
DELETE
/api/organizations/{organizationId}/apps/{appId}/
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
PATCH
/api/organizations/{organizationId}/apps/{appId}/
organizationId path *
appId path *
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
GET
/api/organizations/{organizationId}/apps/{appId}/environments/
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
POST
/api/organizations/{organizationId}/projects/{projectId}/apps/
organizationId path *
projectId path *
GET /api/organizations/{organizationId}/apps/{appId}/environments/{environmentId}/ Get the environment for an app
Parameters
Name Type In Description
organizationId * string path The organization Id.
appId * string path The app Id or alternate Id.
environmentId * string path The environment Id or alternate Id.
Responses
200 Successfully got the environment for an app
id string The environment Id.
alternateId string The environment alternate id. This id is set by the user and can be used to retrieve an environment. Must be unique within the project. Must have a length between 1 and 25 characters. Must only contain lowercase letters, numbers, hyphens, and underscores.
color string The environment color. Must be a valid hex color.
name string The environment name. Must be unique within the project. Must have a length between 1 and 100 characters.
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
GET
/api/organizations/{organizationId}/apps/{appId}/environments/{environmentId}/
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
GET
/api/organizations/{organizationId}/access/
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
POST
/api/organizations/{organizationId}/access/
organizationId path *
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
GET
/api/organizations/{organizationId}/access/{accessId}/
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
DELETE
/api/organizations/{organizationId}/access/{accessId}/
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
PATCH
/api/organizations/{organizationId}/access/{accessId}/
organizationId path *
accessId path *

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
GET
/api/organizations/{organizationId}/api-keys/
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
POST
/api/organizations/{organizationId}/api-keys/
organizationId path *
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
GET
/api/organizations/{organizationId}/api-keys/{apiKeyId}/
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
DELETE
/api/organizations/{organizationId}/api-keys/{apiKeyId}/
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
PUT
/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/
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
DELETE
/api/organizations/{organizationId}/api-keys/{apiKeyId}/secrets/{secretId}
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
GET
/api/organizations/{organizationId}/domains/
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
POST
/api/organizations/{organizationId}/domains/
organizationId path *
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
DELETE
/api/organizations/{organizationId}/domains/{domainId}/
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
PATCH
/api/organizations/{organizationId}/domains/{domainId}/
organizationId path *
domainId path *
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
POST
/api/organizations/{organizationId}/domains/{domainId}/verify
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
GET
/api/organizations/{organizationId}/integrations/
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
POST
/api/organizations/{organizationId}/integrations/
organizationId path *
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
POST
/api/organizations/{organizationId}/integrations/test
organizationId path *
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
POST
/api/organizations/{organizationId}/integrations/azure/context
organizationId path *
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
POST
/api/organizations/{organizationId}/integration-invites/
organizationId path *
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
GET
/api/organizations/{organizationId}/integrations/{integrationId}/
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
DELETE
/api/organizations/{organizationId}/integrations/{integrationId}/
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
POST
/api/organizations/{organizationId}/integrations/{integrationId}/import/
organizationId path *
integrationId path *
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
GET
/api/organizations/{organizationId}/integrations/{integrationId}/resources/
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
GET
/api/organizations/{organizationId}/integrations/connections
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
GET
/api/organizations/{organizationId}/integrations/connections/access
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
POST
/api/organizations/{organizationId}/integrations/{integrationId}/connections/
organizationId path *
integrationId path *
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
GET
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/
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
DELETE
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/
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
POST
/api/organizations/{organizationId}/integrations/{integrationId}/connections/{connectionId}/verify
organizationId path *
integrationId path *
connectionId path *

.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
GET
/api/organizations/{organizationId}/dot-envs/
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
GET
/api/organizations/{organizationId}/dot-envs/summary
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
GET
/api/organizations/{organizationId}/apps/{appId}/dot-env/
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
PUT
/api/organizations/{organizationId}/apps/{appId}/dot-env/
environmentId query
secretKeyId query *
organizationId path *
appId path *
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
DELETE
/api/organizations/{organizationId}/apps/{appId}/dot-env/
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
GET
/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/
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
DELETE
/api/organizations/{organizationId}/apps/{appId}/dot-env/versions/
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
GET
/api/organizations/{organizationId}/projects/
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
POST
/api/organizations/{organizationId}/projects/
organizationId path *
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
GET
/api/organizations/{organizationId}/projects/{projectId}/
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
DELETE
/api/organizations/{organizationId}/projects/{projectId}/
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
PATCH
/api/organizations/{organizationId}/projects/{projectId}/
organizationId path *
projectId path *

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
GET
/api/organizations/{organizationId}/members/
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
POST
/api/organizations/{organizationId}/members/
organizationId path *
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
GET
/api/organizations/{organizationId}/members/{memberId}/
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
DELETE
/api/organizations/{organizationId}/members/{memberId}/
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
PATCH
/api/organizations/{organizationId}/members/{memberId}/
organizationId path *
memberId path *
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
POST
/api/organizations/{organizationId}/members/{memberId}/favorites
organizationId path *
memberId path *
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
DELETE
/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}
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
PATCH
/api/organizations/{organizationId}/members/{memberId}/favorites/{favoriteId}
organizationId path *
memberId path *
favoriteId path *

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
GET
/api/organizations/{organizationId}/segments/
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
GET
/api/organizations/{organizationId}/projects/{projectId}/segments/
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
POST
/api/organizations/{organizationId}/projects/{projectId}/segments/
organizationId path *
projectId path *
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
GET
/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}
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
DELETE
/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}
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
PATCH
/api/organizations/{organizationId}/projects/{projectId}/segments/{segmentId}
organizationId path *
projectId path *
segmentId path *

Teams

GET /api/organizations/{organizationId}/teams/ Get a list of teams for an organization
Parameters
Name Type In Description
name string query Filter by team name starts with (case insensitive)
organizationId * string path The organization Id.
Responses
200 Successfully got a list of teams for an organization
data array
{
  "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
GET
/api/organizations/{organizationId}/teams/
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
POST
/api/organizations/{organizationId}/teams/
organizationId path *
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
GET
/api/organizations/{organizationId}/teams/{teamId}/
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
DELETE
/api/organizations/{organizationId}/teams/{teamId}/
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
PATCH
/api/organizations/{organizationId}/teams/{teamId}/
organizationId path *
teamId path *
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
GET
/api/organizations/{organizationId}/teams/{teamId}/members
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
PUT
/api/organizations/{organizationId}/teams/{teamId}/members
organizationId path *
teamId path *
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
DELETE
/api/organizations/{organizationId}/teams/{teamId}/members/{memberId}
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
GET
/api/organizations/{organizationId}/toggles/
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
GET
/api/organizations/{organizationId}/projects/{projectId}/toggles/
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
POST
/api/organizations/{organizationId}/projects/{projectId}/toggles/
organizationId path *
projectId path *
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
GET
/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}
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
DELETE
/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}
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
PATCH
/api/organizations/{organizationId}/projects/{projectId}/toggles/{toggleKey}
organizationId path *
projectId path *
toggleKey path *

Zones

GET /api/organizations/{organizationId}/dns/zones/ Get a list of zones for an organization
Parameters
Name Type In Description
pageNum integer query The page number.
pageSize integer query The page size.
organizationId * string path The organization Id.
Responses
200 Successfully got a list of zones for an organization
total number The total number of records.
pageNum number The page number.
pageSize number The page size.
data array
{
  "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
GET
/api/organizations/{organizationId}/dns/zones/
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
GET
/api/organizations/{organizationId}/dns/zones/{zoneId}/
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
DELETE
/api/organizations/{organizationId}/dns/zones/{zoneId}/
organizationId path *
zoneId path *

URL Codes