miro_api.models.boards_paged_response

Miro Developer Platform

### Miro Developer Platform concepts - New to the Miro Developer Platform? Interested in learning more about platform concepts?? Read our introduction page and familiarize yourself with the Miro Developer Platform capabilities in a few minutes. ### Getting started with the Miro REST API - Quickstart (video): try the REST API in less than 3 minutes. - Quickstart (article): get started and try the REST API in less than 3 minutes. ### Miro REST API tutorials Check out our how-to articles with step-by-step instructions and code examples so you can: - Get started with OAuth 2.0 and Miro ### Miro App Examples Clone our Miro App Examples repository to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0.

The version of the OpenAPI document: v2.0 Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.

  1# coding: utf-8
  2
  3"""
  4Miro Developer Platform
  5
  6<img src=\"https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n\" width=\"1685\" height=\"593\">  ### Miro Developer Platform concepts  - New to the Miro Developer Platform? Interested in learning more about platform concepts?? [Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes.   ### Getting started with the Miro REST API  - [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes. - [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes.   ### Miro REST API tutorials  Check out our how-to articles with step-by-step instructions and code examples so you can:  - [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth)   ### Miro App Examples  Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro's Developer Platform 2.0.
  7
  8The version of the OpenAPI document: v2.0
  9Generated by OpenAPI Generator (https://openapi-generator.tech)
 10
 11Do not edit the class manually.
 12"""  # noqa: E501
 13
 14
 15from __future__ import annotations
 16import pprint
 17import re  # noqa: F401
 18import json
 19
 20from pydantic import BaseModel, Field, StrictInt, StrictStr
 21from typing import Any, ClassVar, Dict, List, Optional
 22from miro_api.models.board import Board
 23from miro_api.models.page_links import PageLinks
 24from typing import Optional, Set
 25from typing_extensions import Self
 26
 27
 28class BoardsPagedResponse(BaseModel):
 29    """
 30    BoardsPagedResponse
 31    """  # noqa: E501
 32
 33    data: Optional[List[Board]] = Field(default=None, description="Contains the result data.")
 34    total: Optional[StrictInt] = Field(
 35        default=None,
 36        description="Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. For example, if there are `30` results, and the request has the `offset` set to `0` and the `limit` set to `20`, the `size` parameter will return `20` and the `total` parameter will return `30`. This means that there are 9 more results to retrieve (as the offset is zero-based).",
 37    )
 38    size: Optional[StrictInt] = Field(
 39        default=None,
 40        description="Number of results returned in the response. The `size` is the number of results returned considering the `offset` and the `limit` values sent in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`.<br>If there are `10` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `10`.<br>If there are `30` results, and the request has the offset set to `28` and the `limit` set to `20`, the `size` of the results will be `2` as the `offset` is the zero-based offset of the first item in the collection.",
 41    )
 42    offset: Optional[StrictInt] = Field(
 43        default=None,
 44        description="Zero-based index of the first item in the collection. For example, If there are `30` results, and the request has the offset set to `28`, the response will return `2` results.",
 45    )
 46    limit: Optional[StrictInt] = Field(
 47        default=None,
 48        description="Maximum number of results returned based on the `limit` specified in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the offset parameter. In this example, you will set the offset parameter to 20 as the offset is zero-based. ",
 49    )
 50    links: Optional[PageLinks] = None
 51    type: Optional[StrictStr] = None
 52    additional_properties: Dict[str, Any] = {}
 53    __properties: ClassVar[List[str]] = ["data", "total", "size", "offset", "limit", "links", "type"]
 54
 55    model_config = {
 56        "populate_by_name": True,
 57        "validate_assignment": True,
 58        "protected_namespaces": (),
 59    }
 60
 61    def to_str(self) -> str:
 62        """Returns the string representation of the model using alias"""
 63        return pprint.pformat(self.model_dump(by_alias=True))
 64
 65    def to_json(self) -> str:
 66        """Returns the JSON representation of the model using alias"""
 67        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 68        return json.dumps(self.to_dict())
 69
 70    @classmethod
 71    def from_json(cls, json_str: str) -> Optional[Self]:
 72        """Create an instance of BoardsPagedResponse from a JSON string"""
 73        return cls.from_dict(json.loads(json_str))
 74
 75    def to_dict(self) -> Dict[str, Any]:
 76        """Return the dictionary representation of the model using alias.
 77
 78        This has the following differences from calling pydantic's
 79        `self.model_dump(by_alias=True)`:
 80
 81        * `None` is only added to the output dict for nullable fields that
 82          were set at model initialization. Other fields with value `None`
 83          are ignored.
 84        * Fields in `self.additional_properties` are added to the output dict.
 85        """
 86        excluded_fields: Set[str] = set(
 87            [
 88                "additional_properties",
 89            ]
 90        )
 91
 92        _dict = self.model_dump(
 93            by_alias=True,
 94            exclude=excluded_fields,
 95            exclude_none=True,
 96        )
 97        # override the default output from pydantic by calling `to_dict()` of each item in data (list)
 98        _items = []
 99        if self.data:
100            for _item in self.data:
101                if _item:
102                    _items.append(_item.to_dict())
103            _dict["data"] = _items
104        # override the default output from pydantic by calling `to_dict()` of links
105        if self.links:
106            _dict["links"] = self.links.to_dict()
107        # puts key-value pairs in additional_properties in the top level
108        if self.additional_properties is not None:
109            for _key, _value in self.additional_properties.items():
110                _dict[_key] = _value
111
112        return _dict
113
114    @classmethod
115    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
116        """Create an instance of BoardsPagedResponse from a dict"""
117        if obj is None:
118            return None
119
120        if not isinstance(obj, dict):
121            return cls.model_validate(obj)
122
123        _obj = cls.model_validate(
124            {
125                "data": [Board.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
126                "total": obj.get("total"),
127                "size": obj.get("size"),
128                "offset": obj.get("offset"),
129                "limit": obj.get("limit"),
130                "links": PageLinks.from_dict(obj["links"]) if obj.get("links") is not None else None,
131                "type": obj.get("type"),
132            }
133        )
134        # store additional fields in additional_properties
135        for _key in obj.keys():
136            if _key not in cls.__properties:
137                _obj.additional_properties[_key] = obj.get(_key)
138
139        return _obj
class BoardsPagedResponse(pydantic.main.BaseModel):
 29class BoardsPagedResponse(BaseModel):
 30    """
 31    BoardsPagedResponse
 32    """  # noqa: E501
 33
 34    data: Optional[List[Board]] = Field(default=None, description="Contains the result data.")
 35    total: Optional[StrictInt] = Field(
 36        default=None,
 37        description="Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. For example, if there are `30` results, and the request has the `offset` set to `0` and the `limit` set to `20`, the `size` parameter will return `20` and the `total` parameter will return `30`. This means that there are 9 more results to retrieve (as the offset is zero-based).",
 38    )
 39    size: Optional[StrictInt] = Field(
 40        default=None,
 41        description="Number of results returned in the response. The `size` is the number of results returned considering the `offset` and the `limit` values sent in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`.<br>If there are `10` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `10`.<br>If there are `30` results, and the request has the offset set to `28` and the `limit` set to `20`, the `size` of the results will be `2` as the `offset` is the zero-based offset of the first item in the collection.",
 42    )
 43    offset: Optional[StrictInt] = Field(
 44        default=None,
 45        description="Zero-based index of the first item in the collection. For example, If there are `30` results, and the request has the offset set to `28`, the response will return `2` results.",
 46    )
 47    limit: Optional[StrictInt] = Field(
 48        default=None,
 49        description="Maximum number of results returned based on the `limit` specified in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the offset parameter. In this example, you will set the offset parameter to 20 as the offset is zero-based. ",
 50    )
 51    links: Optional[PageLinks] = None
 52    type: Optional[StrictStr] = None
 53    additional_properties: Dict[str, Any] = {}
 54    __properties: ClassVar[List[str]] = ["data", "total", "size", "offset", "limit", "links", "type"]
 55
 56    model_config = {
 57        "populate_by_name": True,
 58        "validate_assignment": True,
 59        "protected_namespaces": (),
 60    }
 61
 62    def to_str(self) -> str:
 63        """Returns the string representation of the model using alias"""
 64        return pprint.pformat(self.model_dump(by_alias=True))
 65
 66    def to_json(self) -> str:
 67        """Returns the JSON representation of the model using alias"""
 68        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 69        return json.dumps(self.to_dict())
 70
 71    @classmethod
 72    def from_json(cls, json_str: str) -> Optional[Self]:
 73        """Create an instance of BoardsPagedResponse from a JSON string"""
 74        return cls.from_dict(json.loads(json_str))
 75
 76    def to_dict(self) -> Dict[str, Any]:
 77        """Return the dictionary representation of the model using alias.
 78
 79        This has the following differences from calling pydantic's
 80        `self.model_dump(by_alias=True)`:
 81
 82        * `None` is only added to the output dict for nullable fields that
 83          were set at model initialization. Other fields with value `None`
 84          are ignored.
 85        * Fields in `self.additional_properties` are added to the output dict.
 86        """
 87        excluded_fields: Set[str] = set(
 88            [
 89                "additional_properties",
 90            ]
 91        )
 92
 93        _dict = self.model_dump(
 94            by_alias=True,
 95            exclude=excluded_fields,
 96            exclude_none=True,
 97        )
 98        # override the default output from pydantic by calling `to_dict()` of each item in data (list)
 99        _items = []
100        if self.data:
101            for _item in self.data:
102                if _item:
103                    _items.append(_item.to_dict())
104            _dict["data"] = _items
105        # override the default output from pydantic by calling `to_dict()` of links
106        if self.links:
107            _dict["links"] = self.links.to_dict()
108        # puts key-value pairs in additional_properties in the top level
109        if self.additional_properties is not None:
110            for _key, _value in self.additional_properties.items():
111                _dict[_key] = _value
112
113        return _dict
114
115    @classmethod
116    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
117        """Create an instance of BoardsPagedResponse from a dict"""
118        if obj is None:
119            return None
120
121        if not isinstance(obj, dict):
122            return cls.model_validate(obj)
123
124        _obj = cls.model_validate(
125            {
126                "data": [Board.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
127                "total": obj.get("total"),
128                "size": obj.get("size"),
129                "offset": obj.get("offset"),
130                "limit": obj.get("limit"),
131                "links": PageLinks.from_dict(obj["links"]) if obj.get("links") is not None else None,
132                "type": obj.get("type"),
133            }
134        )
135        # store additional fields in additional_properties
136        for _key in obj.keys():
137            if _key not in cls.__properties:
138                _obj.additional_properties[_key] = obj.get(_key)
139
140        return _obj

BoardsPagedResponse

data: Optional[List[miro_api.models.board.Board]]
total: Optional[Annotated[int, Strict(strict=True)]]
size: Optional[Annotated[int, Strict(strict=True)]]
offset: Optional[Annotated[int, Strict(strict=True)]]
limit: Optional[Annotated[int, Strict(strict=True)]]
type: Optional[Annotated[str, Strict(strict=True)]]
additional_properties: Dict[str, Any]
model_config = {'populate_by_name': True, 'validate_assignment': True, 'protected_namespaces': ()}
def to_str(self) -> str:
62    def to_str(self) -> str:
63        """Returns the string representation of the model using alias"""
64        return pprint.pformat(self.model_dump(by_alias=True))

Returns the string representation of the model using alias

def to_json(self) -> str:
66    def to_json(self) -> str:
67        """Returns the JSON representation of the model using alias"""
68        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
69        return json.dumps(self.to_dict())

Returns the JSON representation of the model using alias

@classmethod
def from_json(cls, json_str: str) -> Optional[typing_extensions.Self]:
71    @classmethod
72    def from_json(cls, json_str: str) -> Optional[Self]:
73        """Create an instance of BoardsPagedResponse from a JSON string"""
74        return cls.from_dict(json.loads(json_str))

Create an instance of BoardsPagedResponse from a JSON string

def to_dict(self) -> Dict[str, Any]:
 76    def to_dict(self) -> Dict[str, Any]:
 77        """Return the dictionary representation of the model using alias.
 78
 79        This has the following differences from calling pydantic's
 80        `self.model_dump(by_alias=True)`:
 81
 82        * `None` is only added to the output dict for nullable fields that
 83          were set at model initialization. Other fields with value `None`
 84          are ignored.
 85        * Fields in `self.additional_properties` are added to the output dict.
 86        """
 87        excluded_fields: Set[str] = set(
 88            [
 89                "additional_properties",
 90            ]
 91        )
 92
 93        _dict = self.model_dump(
 94            by_alias=True,
 95            exclude=excluded_fields,
 96            exclude_none=True,
 97        )
 98        # override the default output from pydantic by calling `to_dict()` of each item in data (list)
 99        _items = []
100        if self.data:
101            for _item in self.data:
102                if _item:
103                    _items.append(_item.to_dict())
104            _dict["data"] = _items
105        # override the default output from pydantic by calling `to_dict()` of links
106        if self.links:
107            _dict["links"] = self.links.to_dict()
108        # puts key-value pairs in additional_properties in the top level
109        if self.additional_properties is not None:
110            for _key, _value in self.additional_properties.items():
111                _dict[_key] = _value
112
113        return _dict

Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's self.model_dump(by_alias=True):

  • None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.
  • Fields in self.additional_properties are added to the output dict.
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[typing_extensions.Self]:
115    @classmethod
116    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
117        """Create an instance of BoardsPagedResponse from a dict"""
118        if obj is None:
119            return None
120
121        if not isinstance(obj, dict):
122            return cls.model_validate(obj)
123
124        _obj = cls.model_validate(
125            {
126                "data": [Board.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None,
127                "total": obj.get("total"),
128                "size": obj.get("size"),
129                "offset": obj.get("offset"),
130                "limit": obj.get("limit"),
131                "links": PageLinks.from_dict(obj["links"]) if obj.get("links") is not None else None,
132                "type": obj.get("type"),
133            }
134        )
135        # store additional fields in additional_properties
136        for _key in obj.keys():
137            if _key not in cls.__properties:
138                _obj.additional_properties[_key] = obj.get(_key)
139
140        return _obj

Create an instance of BoardsPagedResponse from a dict

def model_post_init(self: pydantic.main.BaseModel, __context: Any) -> None:
265def init_private_attributes(self: BaseModel, __context: Any) -> None:
266    """This function is meant to behave like a BaseModel method to initialise private attributes.
267
268    It takes context as an argument since that's what pydantic-core passes when calling it.
269
270    Args:
271        self: The BaseModel instance.
272        __context: The context.
273    """
274    if getattr(self, '__pydantic_private__', None) is None:
275        pydantic_private = {}
276        for name, private_attr in self.__private_attributes__.items():
277            default = private_attr.get_default()
278            if default is not PydanticUndefined:
279                pydantic_private[name] = default
280        object_setattr(self, '__pydantic_private__', pydantic_private)

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that's what pydantic-core passes when calling it.

Args: self: The BaseModel instance. __context: The context.

model_fields = {'data': FieldInfo(annotation=Union[List[miro_api.models.board.Board], NoneType], required=False, description='Contains the result data.'), 'total': FieldInfo(annotation=Union[Annotated[int, Strict(strict=True)], NoneType], required=False, description='Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. For example, if there are `30` results, and the request has the `offset` set to `0` and the `limit` set to `20`, the `size` parameter will return `20` and the `total` parameter will return `30`. This means that there are 9 more results to retrieve (as the offset is zero-based).'), 'size': FieldInfo(annotation=Union[Annotated[int, Strict(strict=True)], NoneType], required=False, description='Number of results returned in the response. The `size` is the number of results returned considering the `offset` and the `limit` values sent in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`.<br>If there are `10` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `10`.<br>If there are `30` results, and the request has the offset set to `28` and the `limit` set to `20`, the `size` of the results will be `2` as the `offset` is the zero-based offset of the first item in the collection.'), 'offset': FieldInfo(annotation=Union[Annotated[int, Strict(strict=True)], NoneType], required=False, description='Zero-based index of the first item in the collection. For example, If there are `30` results, and the request has the offset set to `28`, the response will return `2` results.'), 'limit': FieldInfo(annotation=Union[Annotated[int, Strict(strict=True)], NoneType], required=False, description='Maximum number of results returned based on the `limit` specified in the request. For example, if there are `30` results, and the request has the offset set to `0` and the `limit` set to `20`, the `size` of the results will be `20`. The rest of the results will not be returned. To retrieve the rest of the results, you must make another request and set the appropriate value for the offset parameter. In this example, you will set the offset parameter to 20 as the offset is zero-based. '), 'links': FieldInfo(annotation=Union[PageLinks, NoneType], required=False), 'type': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False), 'additional_properties': FieldInfo(annotation=Dict[str, Any], required=False, default={})}
model_computed_fields = {}
Inherited Members
pydantic.main.BaseModel
BaseModel
model_extra
model_fields_set
model_construct
model_copy
model_dump
model_dump_json
model_json_schema
model_parametrized_name
model_rebuild
model_validate
model_validate_json
model_validate_strings
dict
json
parse_obj
parse_raw
parse_file
from_orm
construct
copy
schema
schema_json
validate
update_forward_refs