openapi: 3.0.3 info: title: Aptly App Schema API version: '1.0' description: 'The Aptly API lets you read and write cards on any Aptly board from external systems. All requests require an API key passed as the `x-token` header. API keys are scoped to your company and work across all boards. ' servers: - url: https://core-api.getaptly.com description: Production security: - ApiKeyHeader: [] tags: - name: Schema paths: /api/schema/{boardId}: get: summary: Get board schema description: 'Returns the list of fields defined on the board. Always fetch the schema first so you know which field keys to use when reading or writing card data. ' operationId: getSchema tags: - Schema security: - ApiKeyHeader: [] - DelegateToken: [] parameters: - name: boardId in: path required: true schema: type: string description: The board's UUID (`aptlet.uuid`). responses: '200': description: Array of field definitions. content: application/json: schema: type: array items: $ref: '#/components/schemas/SchemaField' example: - key: abc123 label: Tenant Name type: text - key: def456 label: Move-in Date type: date - key: ghi789 label: Monthly Rent type: money '401': description: Invalid or missing API key. content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: API access is disabled for this board. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Board not found. content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: SchemaField: type: object properties: key: type: string description: Field UUID — use this as the key when reading/writing card data. label: type: string description: Human-readable field name. type: type: string description: Field type (e.g. text, date, money, multiselect, etc.) Error: type: object properties: error: type: string message: type: string securitySchemes: ApiKeyHeader: type: apiKey in: header name: x-token DelegateToken: type: apiKey in: header name: Authorization description: 'Delegate token issued by the platform. Format: `DelegateToken `' PartnerBearer: type: http scheme: bearer description: 'Partner token. Format: `Authorization: Bearer `'