BuilderInfo is a JSON Structure definition published by Ampersand, describing 3 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/ampersand/refs/heads/main/json-structure/ampersand-api-builder-info-structure.json",
"name": "BuilderInfo",
"description": "BuilderInfo schema from Ampersand API",
"type": "object",
"properties": {
"builder": {
"$ref": "#/components/schemas/Builder"
},
"projectRoles": {
"type": "object",
"description": "A map of project IDs to project roles for the builder.",
"additionalProperties": {
"type": "object",
"required": [
"role",
"principalType",
"principalId",
"project"
],
"properties": {
"role": {
"type": "string",
"description": "The role of the builder in the project.",
"example": "admin"
},
"principalType": {
"type": "string",
"description": "The type of the principal.",
"enum": [
"team",
"builder"
]
},
"principalId": {
"type": "string",
"description": "The ID of the team or builder.",
"example": "builder-id-123"
},
"project": {
"$ref": "#/components/schemas/Project"
}
}
}
},
"orgRole": {
"type": "object",
"required": [
"role",
"principalType",
"principalId",
"org"
],
"properties": {
"role": {
"type": "string",
"description": "The role of the builder in the org.",
"example": "admin"
},
"principalType": {
"type": "string",
"description": "The type of the principal.",
"enum": [
"team",
"builder"
]
},
"principalId": {
"type": "string",
"description": "The ID of the team or builder.",
"example": "builder-id-123"
},
"org": {
"$ref": "#/components/schemas/Org"
}
}
}
},
"required": [
"builder",
"projectRoles"
]
}