A C# wrapper for the Monday.com API
Current API version is 2024-10
- this can be seen in MondayApiClient.cs
- Built using
netstandard2.0
- compatible with .Net Framework - Uses GraphQL.Client for most request functionality, however MondayAPI returns non-GraphQL-standard errors so a special serializer is used (thanks to this comment)
- I use Husqvik/GraphQlClientGenerator to generate the Schema used to generate requests - install with
dotnet tool install --global graphqlclientgenerator.tool
and see generate api schema.cmd - Thanks to this comment, file uploads are supported by MondayFileUploadRequest.cs - the variable
file
must be used in the request - There are a couple bugs/quirks noticed in the Monday API that are mitigated by this project:
- Asset columns have nonsense CreatedAt values - e.g.
55686-09-26T02:33:47+00:00
- see AssetActions.cs - ActivityLogs CreatedAt is returned as 17-digit value - this is handled in UnixDateTimeConverter.cs
- On updating columns, some columns require specific different JSON property names to update, that is handled by Utils.convertColumn
- When retrieving Users with
.WithAllScalarFields()
, an undocumentedencrypt_api_token
field is included which causes the entire query to return null data - this field is excluded specifically in UserActions.cs. This field is not mentioned in the API Docs, however GraphQL Schema introspection describes it as "The token of the user for email to board." (???)
- Asset columns have nonsense CreatedAt values - e.g.
This project is meant to be used in two ways:
- Useful helper methods to accomplish most tasks
- Reference code to build your own specific methods
Also, models for responses to Monday Webhooks are provided in WebhookResponses