openapi: 3.0.0 info: title: Filter Test API version: 1.0.0 tags: [] paths: /field-filters: get: operationId: get-field-filters-with-all-supported-types summary: Field filters parameters: - name: filter in: query required: false schema: $ref: "#/components/schemas/FieldFilters" style: deepObject responses: "204": description: "There is no content to send for this request, but the headers may be useful. " components: schemas: BooleanFieldFilter: anyOf: - type: boolean - type: object properties: eq: type: boolean description: Value strictly equals the given boolean value. required: - eq additionalProperties: false description: Filter by a boolean value (true/false). title: Boolean Field Filter x-go-type-import: path: github.com/openmeterio/openmeter/api/v3/filters x-go-type: filters.FilterBoolean DateTime: type: string format: date-time description: |- [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC. title: RFC3339 Date-Time example: 2023-01-01T01:01:01.001Z DateTimeFieldFilter: anyOf: - $ref: "#/components/schemas/DateTime" - type: object properties: eq: allOf: - $ref: "#/components/schemas/DateTime" description: Value strictly equals given RFC-3339 formatted timestamp in UTC. lt: allOf: - $ref: "#/components/schemas/DateTime" description: Value is less than the given RFC-3339 formatted timestamp in UTC. lte: allOf: - $ref: "#/components/schemas/DateTime" description: Value is less than or equal to the given RFC-3339 formatted timestamp in UTC. gt: allOf: - $ref: "#/components/schemas/DateTime" description: Value is greater than the given RFC-3339 formatted timestamp in UTC. gte: allOf: - $ref: "#/components/schemas/DateTime" description: Value is greater than or equal to the given RFC-3339 formatted timestamp in UTC. additionalProperties: false description: |- Filters on the given datetime (RFC-3339) field value. All properties are optional; provide exactly one to specify the comparison. title: DateTime Field Filter x-go-type-import: path: github.com/openmeterio/openmeter/api/v3/filters x-go-type: filters.FilterDateTime FieldFilters: type: object properties: boolean: $ref: "#/components/schemas/BooleanFieldFilter" numeric: $ref: "#/components/schemas/NumericFieldFilter" string: $ref: "#/components/schemas/StringFieldFilter" string_exact: $ref: "#/components/schemas/StringFieldFilterExact" ulid: $ref: "#/components/schemas/ULIDFieldFilter" datetime: $ref: "#/components/schemas/DateTimeFieldFilter" labels: $ref: "#/components/schemas/LabelsFieldFilter" additionalProperties: false description: Field filters with all supported types. LabelsFieldFilter: type: object additionalProperties: $ref: "#/components/schemas/StringFieldFilter" description: |- Filters on the resource's `labels` field. The schema is a map keyed by the label name; each value is a `StringFieldFilter`. Both deepObject forms are accepted: `filter[labels][key]=value` (nested) and `filter[labels.key]=value` (dot-notation). title: Labels Field Filter x-go-type-import: path: github.com/openmeterio/openmeter/api/v3/filters x-go-type: filters.FilterLabels NumericFieldFilter: anyOf: - type: number format: double - type: object properties: eq: type: number format: double description: Value strictly equals the given numeric value. neq: type: number format: double description: Value does not equal the given numeric value. oeq: type: string description: Returns entities that match any of the comma-delimited numeric values. lt: type: number format: double description: Value is less than the given numeric value. lte: type: number format: double description: Value is less than or equal to the given numeric value. gt: type: number format: double description: Value is greater than the given numeric value. gte: type: number format: double description: Value is greater than or equal to the given numeric value. additionalProperties: false description: |- Filter by a numeric value. All properties are optional; provide exactly one to specify the comparison. title: Numeric Field Filter x-go-type-import: path: github.com/openmeterio/openmeter/api/v3/filters x-go-type: filters.FilterNumeric StringFieldFilter: anyOf: - type: string - type: object properties: eq: type: string description: Value strictly equals the given string value. neq: type: string description: Value does not equal the given string value. contains: type: string description: Value contains the given string value (fuzzy match). ocontains: type: string description: |- Returns entities that fuzzy-match any of the comma-delimited phrases in the filter string. oeq: type: string description: |- Returns entities that exact match any of the comma-delimited phrases in the filter string. gt: type: string description: Value is greater than the given string value (lexicographic compare). gte: type: string description: |- Value is greater than or equal to the given string value (lexicographic compare). lt: type: string description: Value is less than the given string value (lexicographic compare). lte: type: string description: Value is less than or equal to the given string value (lexicographic compare). exists: type: boolean description: |- When true, the field must be present (non-null); when false, the field must be absent (null). additionalProperties: false description: |- Filters on the given string field value by either exact or fuzzy match. All properties are optional; provide exactly one to specify the comparison. x-go-type-import: path: github.com/openmeterio/openmeter/api/v3/filters x-go-type: filters.FilterString StringFieldFilterExact: anyOf: - type: string - type: object properties: eq: type: string description: Value strictly equals the given string value. oeq: type: string description: |- Returns entities that exact match any of the comma-delimited phrases in the filter string. neq: type: string description: Value does not equal the given string value. additionalProperties: false description: |- Filters on the given string field value by exact match. All properties are optional; provide exactly one to specify the comparison. title: String Field Filter Exact x-go-type-import: path: github.com/openmeterio/openmeter/api/v3/filters x-go-type: filters.FilterStringExact ULID: type: string pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$ description: ULID (Universally Unique Lexicographically Sortable Identifier). title: ULID example: 01G65Z755AFWAKHE12NY0CQ9FH ULIDFieldFilter: anyOf: - $ref: "#/components/schemas/ULID" - type: object properties: eq: allOf: - $ref: "#/components/schemas/ULID" description: Value strictly equals the given ULID value. oeq: type: string description: |- Returns entities that exact match any of the comma-delimited ULIDs in the filter string. neq: allOf: - $ref: "#/components/schemas/ULID" description: Value does not equal the given ULID value. additionalProperties: false description: |- Filters on the given ULID field value by exact match. All properties are optional; provide exactly one to specify the comparison. title: ULID Field Filter x-go-type-import: path: github.com/openmeterio/openmeter/api/v3/filters x-go-type: filters.FilterULID