Api Endpoint

buero.halowerk.com

Give it a search window, a meeting length, and for each participant a list of busy blocks — start and end, nothing else — and it returns the windows in which the meeting fits. Each participant carries their own IANA timezone and working hours, so nine-to-five means nine-to-five where they are, across daylight saving changes, and a meeting is only offered when it lies entirely inside one working-hours block for everyone counted as present.

Open interactive test console

Offering

Provider
buero.halowerk.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Business And Commerce
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://buero.halowerk.com/v1/availability-resolve
MIME type
Not provided
First seen
2026-10-16T01:58:26.121Z
Last seen
Tags
None supplied

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.002 USDC
Atomic price: 2000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "2000",
    "payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E"
  }
]

Observed health

Status
Healthy
Latest latency
313 ms
Average latency
650 ms
HTTP status
204
Last checked
Reachability
100% over 9 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "default_timezone": {
          "default": "UTC",
          "description": "Timezone for participants that do not name one.",
          "maxLength": 60,
          "type": "string"
        },
        "duration_minutes": {
          "description": "How long the meeting needs to be.",
          "maximum": 1440,
          "minimum": 5,
          "type": "integer"
        },
        "granularity_minutes": {
          "default": 15,
          "description": "Step of the candidate grid. Start times fall on this grid.",
          "enum": [
            5,
            10,
            15,
            20,
            30,
            60
          ],
          "type": "integer"
        },
        "ignore_working_hours": {
          "default": false,
          "description": "Search the whole window regardless of working hours.",
          "type": "boolean"
        },
        "max_results": {
          "default": 20,
          "description": "How many windows to return. What is dropped is counted.",
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "min_attendees": {
          "description": "Also return windows where only this many can attend. Default: everyone who is not optional.",
          "minimum": 1,
          "type": "integer"
        },
        "output_timezone": {
          "description": "Additionally render every returned time in this zone. Defaults to default_timezone.",
          "maxLength": 60,
          "type": "string"
        },
        "participants": {
          "description": "One entry per person. Identifiers are free text and need not be real names.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "busy": {
                "description": "Busy blocks. Overlapping blocks are merged.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "end": {
                      "description": "ISO 8601 with offset or Z.",
                      "maxLength": 40,
                      "type": "string"
                    },
                    "start": {
                      "description": "ISO 8601 with offset or Z.",
                      "maxLength": 40,
                      "type": "string"
                    }
                  },
                  "required": [
                    "start",
                    "end"
                  ],
                  "type": "object"
                },
                "maxItems": 300,
                "type": "array"
              },
              "id": {
                "description": "Any label, unique within the request. \"a\" is fine.",
                "maxLength": 80,
                "minLength": 1,
                "type": "string"
              },
              "optional": {
                "default": false,
                "description": "Optional participants may be missing from a returned window.",
                "type": "boolean"
              },
              "timezone": {
                "description": "IANA zone for this person, e.g. Europe/Berlin. Falls back to the request default.",
                "maxLength": 60,
                "type": "string"
              },
              "working_hours": {
                "additionalProperties": false,
                "description": "Working hours in this person local time. Omit to use the request default.",
                "properties": {
                  "days": {
                    "description": "0 is Sunday, 6 is Saturday. Default Monday to Friday.",
                    "items": {
                      "maximum": 6,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "maxItems": 7,
                    "type": "array"
                  },
                  "end": {
                    "description": "HH:MM. An end before the start means the block runs past midnight.",
                    "maxLength": 5,
                    "type": "string"
                  },
                  "start": {
                    "description": "HH:MM, e.g. 09:00.",
                    "maxLength": 5,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "required": [
              "id"
            ],
            "type": "object"
          },
          "maxItems": 20,
          "minItems": 1,
          "type": "array"
        },
        "window": {
          "additionalProperties": false,
          "description": "The search window. Every load figure is measured over exactly this span for everyone.",
          "properties": {
            "end": {
              "description": "ISO 8601.",
              "maxLength": 40,
              "type": "string"
            },
            "start": {
              "description": "ISO 8601.",
              "maxLength": 40,
              "type": "string"
            }
          },
          "required": [
            "start",
            "end"
          ],
          "type": "object"
        },
        "working_hours": {
          "additionalProperties": false,
          "description": "Default working hours for participants that do not name their own. Omit both this and per-participant hours to search around the clock.",
          "properties": {
            "days": {
              "items": {
                "maximum": 6,
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 7,
              "type": "array"
            },
            "end": {
              "maxLength": 5,
              "type": "string"
            },
            "start": {
              "maxLength": 5,
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "required": [
        "participants",
        "window",
        "duration_minutes"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST",
        "PUT",
        "PATCH"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "default_timezone": {
              "default": "UTC",
              "description": "Timezone for participants that do not name one.",
              "maxLength": 60,
              "type": "string"
            },
            "duration_minutes": {
              "description": "How long the meeting needs to be.",
              "maximum": 1440,
              "minimum": 5,
              "type": "integer"
            },
            "granularity_minutes": {
              "default": 15,
              "description": "Step of the candidate grid. Start times fall on this grid.",
              "enum": [
                5,
                10,
                15,
                20,
                30,
                60
              ],
              "type": "integer"
            },
            "ignore_working_hours": {
              "default": false,
              "description": "Search the whole window regardless of working hours.",
              "type": "boolean"
            },
            "max_results": {
              "default": 20,
              "description": "How many windows to return. What is dropped is counted.",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            },
            "min_attendees": {
              "description": "Also return windows where only this many can attend. Default: everyone who is not optional.",
              "minimum": 1,
              "type": "integer"
            },
            "output_timezone": {
              "description": "Additionally render every returned time in this zone. Defaults to default_timezone.",
              "maxLength": 60,
              "type": "string"
            },
            "participants": {
              "description": "One entry per person. Identifiers are free text and need not be real names.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "busy": {
                    "description": "Busy blocks. Overlapping blocks are merged.",
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "end": {
                          "description": "ISO 8601 with offset or Z.",
                          "maxLength": 40,
                          "type": "string"
                        },
                        "start": {
                          "description": "ISO 8601 with offset or Z.",
                          "maxLength": 40,
                          "type": "string"
                        }
                      },
                      "required": [
                        "start",
                        "end"
                      ],
                      "type": "object"
                    },
                    "maxItems": 300,
                    "type": "array"
                  },
                  "id": {
                    "description": "Any label, unique within the request. \"a\" is fine.",
                    "maxLength": 80,
                    "minLength": 1,
                    "type": "string"
                  },
                  "optional": {
                    "default": false,
                    "description": "Optional participants may be missing from a returned window.",
                    "type": "boolean"
                  },
                  "timezone": {
                    "description": "IANA zone for this person, e.g. Europe/Berlin. Falls back to the request default.",
                    "maxLength": 60,
                    "type": "string"
                  },
                  "working_hours": {
                    "additionalProperties": false,
                    "description": "Working hours in this person local time. Omit to use the request default.",
                    "properties": {
                      "days": {
                        "description": "0 is Sunday, 6 is Saturday. Default Monday to Friday.",
                        "items": {
                          "maximum": 6,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "maxItems": 7,
                        "type": "array"
                      },
                      "end": {
                        "description": "HH:MM. An end before the start means the block runs past midnight.",
                        "maxLength": 5,
                        "type": "string"
                      },
                      "start": {
                        "description": "HH:MM, e.g. 09:00.",
                        "maxLength": 5,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "maxItems": 20,
              "minItems": 1,
              "type": "array"
            },
            "window": {
              "additionalProperties": false,
              "description": "The search window. Every load figure is measured over exactly this span for everyone.",
              "properties": {
                "end": {
                  "description": "ISO 8601.",
                  "maxLength": 40,
                  "type": "string"
                },
                "start": {
                  "description": "ISO 8601.",
                  "maxLength": 40,
                  "type": "string"
                }
              },
              "required": [
                "start",
                "end"
              ],
              "type": "object"
            },
            "working_hours": {
              "additionalProperties": false,
              "description": "Default working hours for participants that do not name their own. Omit both this and per-participant hours to search around the clock.",
              "properties": {
                "days": {
                  "items": {
                    "maximum": 6,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "maxItems": 7,
                  "type": "array"
                },
                "end": {
                  "maxLength": 5,
                  "type": "string"
                },
                "start": {
                  "maxLength": 5,
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "required": [
            "participants",
            "window",
            "duration_minutes"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST",
            "PUT",
            "PATCH"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}