Organizations
List organizations#
GET /api/organizations
Your organization, with its management account. Use its id in the path of every other endpoint.
Response
organizations(array of objects): The matching organizations.id(string (uuid)): The organization's ID, used in every path under it.name(string): The organization's name.onboarding(string): How far the organization is through connecting its AWS accounts. One ofpending,complete,outdated,hidden.management_account(object): The AWS Organizations management account, once it is connected.id(string (uuid)): The account's MilkStraw AI ID.nickname(string): The account's name in AWS Organizations.account_id(string): The 12-digit AWS account ID.access(string): Whether MilkStraw AI can read the account. One ofdenied,granted,suspended,closed.
Errors: 401, 403, 429. See errors.
curl https://app.milkstraw.ai/api/organizations \
-H "Authorization: Bearer $MILKSTRAW_API_KEY"{
"organizations": [
{
"id": "77f339a2-460f-5635-964f-501519ddbc7a",
"name": "Name 1",
"onboarding": "complete",
"management_account": {
"id": "727f7a11-2e01-5bc2-88db-5a4a19220868",
"nickname": "A1",
"account_id": "123456789012",
"access": "denied"
}
}
]
}Get an organization#
GET /api/organizations/{organization_id}
One organization, with its AWS accounts and when MilkStraw AI last read them.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
organization_id | path | string (uuid) | The organization's ID, from the organizations list. Required. |
Response
organization(object): The organization.id(string (uuid)): The organization's ID, used in every path under it.name(string): The organization's name.onboarding(string): How far the organization is through connecting its AWS accounts. One ofpending,complete,outdated,hidden.management_account(object): The AWS Organizations management account, once it is connected.id(string (uuid)): The account's MilkStraw AI ID.nickname(string): The account's name in AWS Organizations.account_id(string): The 12-digit AWS account ID.access(string): Whether MilkStraw AI can read the account. One ofdenied,granted,suspended,closed.
external_id(string): The external ID MilkStraw AI passes when it assumes the role in your accounts.role_name(string): The IAM role MilkStraw AI assumes in your accounts.root_id(string or null): The root ID of your AWS organization, once the management account is connected.stacks(object): The CloudFormation stacks deployed for MilkStraw AI, with their versions.management_stack(object): The stack in the management account.name(string): The stack's name.version(string): The version of MilkStraw AI's template it runs.
stackset(object): The StackSet that reaches the member accounts.name(string): The stack's name.version(string): The version of MilkStraw AI's template it runs.
last_scanned_at(string or null): When MilkStraw AI last read your AWS data.accounts(array of objects): The organization's AWS accounts.id(string (uuid)): The account's MilkStraw AI ID.nickname(string): The account's name in AWS Organizations.account_id(string): The 12-digit AWS account ID.access(string): Whether MilkStraw AI can read the account. One ofdenied,granted,suspended,closed.
Errors: 401, 403, 404, 429. See errors.
curl https://app.milkstraw.ai/api/organizations/$ORGANIZATION_ID \
-H "Authorization: Bearer $MILKSTRAW_API_KEY"{
"organization": {
"id": "77f339a2-460f-5635-964f-501519ddbc7a",
"name": "Name 1",
"onboarding": "complete",
"management_account": {
"id": "727f7a11-2e01-5bc2-88db-5a4a19220868",
"nickname": "A1",
"account_id": "123456789012",
"access": "denied"
},
"external_id": "org-0001xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"role_name": "MilkStrawRoleV2",
"root_id": "r-1234",
"stacks": {},
"last_scanned_at": "2026-11-09T13:01:59.464Z",
"accounts": [
{
"id": "727f7a11-2e01-5bc2-88db-5a4a19220868",
"nickname": "A1",
"account_id": "123456789012",
"access": "denied"
},
{
"id": "3b37c360-7459-5485-823b-42fff4728700",
"nickname": "A2",
"account_id": "234567890123",
"access": "denied"
}
]
}
}