API: Query Filter Instance Schema

A QueryFilterInstanceSchema is a Schema specifically for describing QueryFilterInstances. Because the behaviour of FilterInstances, with regards to the values property, differs from one another depending on the chosen Filter, the QueryFilterInstanceSchema explicitly lists the dependencies in its _dependencies property. As the property causing the difference is the selected Filter, that property is linked. Apart from that, a QueryFilterInstanceSchema has the same structure a Schema does.

Linked Properties

Link Description Type Constraints Supported operations
self This QueryFilterInstanceSchema (same as for schema) QueryFilterInstanceSchema not null READ
filter The filter for which this schema is specific Filter not null READ

Local Properties

Property Description Type Constraints Supported operations
name Describes the name attribute Field schema not null READ
filter QuerySortBy name Field schema not null READ

Methods

List query filter instance schemas for project

Returns the list of QueryFilterInstanceSchemas defined for a query of the specified project.

id
integer

required path

Project id

Example:
1

200

OK

{
  "_embedded": {
    "elements": [
      {
        "_dependencies": [
          {
            "_type": "SchemaDependency",
            "dependencies": {
              "/api/v3/queries/operators/!": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              },
              "/api/v3/queries/operators/!*": {},
              "/api/v3/queries/operators/*": {},
              "/api/v3/queries/operators/=": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              }
            },
            "on": "operator"
          }
        ],
        "_links": {
          "filter": {
            "href": "/api/v3/queries/filters/assignee",
            "title": "Assignee"
          },
          "self": {
            "href": "/api/v3/queries/filter_instance_schemas/assignee"
          }
        },
        "_type": "QueryFilterInstanceSchema",
        "filter": {
          "_links": {},
          "hasDefault": false,
          "name": "Filter",
          "required": true,
          "type": "QueryFilter",
          "writable": true
        },
        "name": {
          "hasDefault": true,
          "name": "Name",
          "required": true,
          "type": "String",
          "writable": false
        }
      },
      {
        "_dependencies": [
          {
            "_type": "SchemaDependency",
            "dependencies": {
              "/api/v3/queries/operators/!": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              },
              "/api/v3/queries/operators/=": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              }
            },
            "on": "operator"
          }
        ],
        "_links": {
          "filter": {
            "href": "/api/v3/queries/filters/author",
            "title": "Author"
          },
          "self": {
            "href": "/api/v3/queries/filter_instance_schemas/author"
          }
        },
        "_type": "QueryFilterInstanceSchema",
        "filter": {
          "_links": {},
          "hasDefault": false,
          "name": "Filter",
          "required": true,
          "type": "QueryFilter",
          "writable": true
        },
        "name": {
          "hasDefault": true,
          "name": "Name",
          "required": true,
          "type": "String",
          "writable": false
        }
      }
    ]
  },
  "_links": {
    "self": {
      "href": "/api/v3/projects/42/queries/filter_instance_schemas"
    }
  },
  "_type": "Collection",
  "count": 2,
  "total": 2
}
Query_Filter_Instance_Schemas_For_ProjectModel
{
  "type": "object",
  "example": {
    "_type": "Collection",
    "total": 2,
    "count": 2,
    "_embedded": {
      "elements": [
        {
          "_type": "QueryFilterInstanceSchema",
          "_dependencies": [
            {
              "_type": "SchemaDependency",
              "on": "operator",
              "dependencies": {
                "/api/v3/queries/operators/=": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                },
                "/api/v3/queries/operators/!": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                },
                "/api/v3/queries/operators/!*": {},
                "/api/v3/queries/operators/*": {}
              }
            }
          ],
          "name": {
            "type": "String",
            "name": "Name",
            "required": true,
            "hasDefault": true,
            "writable": false
          },
          "filter": {
            "type": "QueryFilter",
            "name": "Filter",
            "required": true,
            "hasDefault": false,
            "writable": true,
            "_links": {}
          },
          "_links": {
            "self": {
              "href": "/api/v3/queries/filter_instance_schemas/assignee"
            },
            "filter": {
              "href": "/api/v3/queries/filters/assignee",
              "title": "Assignee"
            }
          }
        },
        {
          "_type": "QueryFilterInstanceSchema",
          "_dependencies": [
            {
              "_type": "SchemaDependency",
              "on": "operator",
              "dependencies": {
                "/api/v3/queries/operators/=": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                },
                "/api/v3/queries/operators/!": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                }
              }
            }
          ],
          "name": {
            "type": "String",
            "name": "Name",
            "required": true,
            "hasDefault": true,
            "writable": false
          },
          "filter": {
            "type": "QueryFilter",
            "name": "Filter",
            "required": true,
            "hasDefault": false,
            "writable": true,
            "_links": {}
          },
          "_links": {
            "self": {
              "href": "/api/v3/queries/filter_instance_schemas/author"
            },
            "filter": {
              "href": "/api/v3/queries/filters/author",
              "title": "Author"
            }
          }
        }
      ]
    },
    "_links": {
      "self": {
        "href": "/api/v3/projects/42/queries/filter_instance_schemas"
      }
    }
  }
}

403

Returned if the client does not have sufficient permissions to see it.

Required permission: view work package in any project

{
  "_type": "Error",
  "errorIdentifier": "urn:openproject-org:api:v3:errors:Unauthenticated",
  "message": "You are not authorized to access this resource."
}
ErrorResponse
{
  "type": "object",
  "required": [
    "_type",
    "errorIdentifier",
    "message"
  ],
  "properties": {
    "_embedded": {
      "type": "object",
      "properties": {
        "details": {
          "type": "object",
          "properties": {
            "attribute": {
              "type": "string",
              "example": "project"
            }
          }
        }
      }
    },
    "_type": {
      "type": "string",
      "enum": [
        "Error"
      ]
    },
    "errorIdentifier": {
      "type": "string",
      "example": "urn:openproject-org:api:v3:errors:PropertyConstraintViolation"
    },
    "message": {
      "type": "string",
      "example": "Project can't be blank."
    }
  }
}

List query filter instance schemas

Returns the list of QueryFilterInstanceSchemas defined for a global query. That is a query not assigned to a project.

No parameters

200

OK

{
  "_embedded": {
    "elements": [
      {
        "_dependencies": [
          {
            "_type": "SchemaDependency",
            "dependencies": {
              "/api/v3/queries/operators/!": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              },
              "/api/v3/queries/operators/!*": {},
              "/api/v3/queries/operators/*": {},
              "/api/v3/queries/operators/=": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              }
            },
            "on": "operator"
          }
        ],
        "_links": {
          "filter": {
            "href": "/api/v3/queries/filters/assignee",
            "title": "Assignee"
          },
          "self": {
            "href": "/api/v3/queries/filter_instance_schemas/assignee"
          }
        },
        "_type": "QueryFilterInstanceSchema",
        "filter": {
          "_links": {},
          "hasDefault": false,
          "name": "Filter",
          "required": true,
          "type": "QueryFilter",
          "writable": true
        },
        "name": {
          "hasDefault": true,
          "name": "Name",
          "required": true,
          "type": "String",
          "writable": false
        }
      },
      {
        "_dependencies": [
          {
            "_type": "SchemaDependency",
            "dependencies": {
              "/api/v3/queries/operators/!": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              },
              "/api/v3/queries/operators/=": {
                "values": {
                  "_links": {},
                  "hasDefault": false,
                  "name": "Values",
                  "required": true,
                  "type": "[]User",
                  "writable": true
                }
              }
            },
            "on": "operator"
          }
        ],
        "_links": {
          "filter": {
            "href": "/api/v3/queries/filters/author",
            "title": "Author"
          },
          "self": {
            "href": "/api/v3/queries/filter_instance_schemas/author"
          }
        },
        "_type": "QueryFilterInstanceSchema",
        "filter": {
          "_links": {},
          "hasDefault": false,
          "name": "Filter",
          "required": true,
          "type": "QueryFilter",
          "writable": true
        },
        "name": {
          "hasDefault": true,
          "name": "Name",
          "required": true,
          "type": "String",
          "writable": false
        }
      }
    ]
  },
  "_links": {
    "self": {
      "href": "/api/v3/queries/filter_instance_schemas"
    }
  },
  "_type": "Collection",
  "count": 2,
  "total": 2
}
Query_Filter_Instance_SchemasModel
{
  "type": "object",
  "example": {
    "_type": "Collection",
    "total": 2,
    "count": 2,
    "_embedded": {
      "elements": [
        {
          "_type": "QueryFilterInstanceSchema",
          "_dependencies": [
            {
              "_type": "SchemaDependency",
              "on": "operator",
              "dependencies": {
                "/api/v3/queries/operators/=": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                },
                "/api/v3/queries/operators/!": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                },
                "/api/v3/queries/operators/!*": {},
                "/api/v3/queries/operators/*": {}
              }
            }
          ],
          "name": {
            "type": "String",
            "name": "Name",
            "required": true,
            "hasDefault": true,
            "writable": false
          },
          "filter": {
            "type": "QueryFilter",
            "name": "Filter",
            "required": true,
            "hasDefault": false,
            "writable": true,
            "_links": {}
          },
          "_links": {
            "self": {
              "href": "/api/v3/queries/filter_instance_schemas/assignee"
            },
            "filter": {
              "href": "/api/v3/queries/filters/assignee",
              "title": "Assignee"
            }
          }
        },
        {
          "_type": "QueryFilterInstanceSchema",
          "_dependencies": [
            {
              "_type": "SchemaDependency",
              "on": "operator",
              "dependencies": {
                "/api/v3/queries/operators/=": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                },
                "/api/v3/queries/operators/!": {
                  "values": {
                    "type": "[]User",
                    "name": "Values",
                    "required": true,
                    "hasDefault": false,
                    "writable": true,
                    "_links": {}
                  }
                }
              }
            }
          ],
          "name": {
            "type": "String",
            "name": "Name",
            "required": true,
            "hasDefault": true,
            "writable": false
          },
          "filter": {
            "type": "QueryFilter",
            "name": "Filter",
            "required": true,
            "hasDefault": false,
            "writable": true,
            "_links": {}
          },
          "_links": {
            "self": {
              "href": "/api/v3/queries/filter_instance_schemas/author"
            },
            "filter": {
              "href": "/api/v3/queries/filters/author",
              "title": "Author"
            }
          }
        }
      ]
    },
    "_links": {
      "self": {
        "href": "/api/v3/queries/filter_instance_schemas"
      }
    }
  }
}

403

Returned if the client does not have sufficient permissions to see it.

Required permission: view work package in any project

{
  "_type": "Error",
  "errorIdentifier": "urn:openproject-org:api:v3:errors:Unauthenticated",
  "message": "You are not authorized to access this resource."
}
ErrorResponse
{
  "type": "object",
  "required": [
    "_type",
    "errorIdentifier",
    "message"
  ],
  "properties": {
    "_embedded": {
      "type": "object",
      "properties": {
        "details": {
          "type": "object",
          "properties": {
            "attribute": {
              "type": "string",
              "example": "project"
            }
          }
        }
      }
    },
    "_type": {
      "type": "string",
      "enum": [
        "Error"
      ]
    },
    "errorIdentifier": {
      "type": "string",
      "example": "urn:openproject-org:api:v3:errors:PropertyConstraintViolation"
    },
    "message": {
      "type": "string",
      "example": "Project can't be blank."
    }
  }
}

View query filter instance schema

Retrieve an individual QueryFilterInstanceSchema as identified by the id parameter.

id
string

required path

QueryFilterInstanceSchema identifier. The identifier is the filter identifier.

Example:
author

200

OK

{
  "_dependencies": [
    {
      "_type": "SchemaDependency",
      "dependencies": {
        "/api/v3/queries/operators/!": {
          "values": {
            "_links": {},
            "hasDefault": false,
            "name": "Values",
            "required": true,
            "type": "[]User",
            "writable": true
          }
        },
        "/api/v3/queries/operators/=": {
          "values": {
            "_links": {},
            "hasDefault": false,
            "name": "Values",
            "required": true,
            "type": "[]User",
            "writable": true
          }
        }
      },
      "on": "operator"
    }
  ],
  "_links": {
    "filter": {
      "href": "/api/v3/queries/filters/author",
      "title": "Author"
    },
    "self": {
      "href": "/api/v3/queries/filter_instance_schemas/author"
    }
  },
  "_type": "QueryFilterInstanceSchema",
  "filter": {
    "_links": {},
    "hasDefault": false,
    "name": "Filter",
    "required": true,
    "type": "QueryFilter",
    "writable": true
  },
  "name": {
    "hasDefault": true,
    "name": "Name",
    "required": true,
    "type": "String",
    "writable": false
  }
}
Query_Filter_Instance_SchemaModel
{
  "type": "object",
  "required": [
    "name",
    "filter"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Describes the name attribute",
      "readOnly": true
    },
    "filter": {
      "type": "string",
      "description": "QuerySortBy name"
    },
    "_links": {
      "type": "object",
      "required": [
        "self",
        "filter"
      ],
      "properties": {
        "self": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Link"
            },
            {
              "description": "This QueryFilterInstanceSchema (same as for schema)\n\n**Resource**: QueryFilterInstanceSchema",
              "readOnly": true
            }
          ]
        },
        "filter": {
          "allOf": [
            {
              "$ref": "#/components/schemas/Link"
            },
            {
              "description": "The filter for which this schema is specific\n\n**Resource**: Filter",
              "readOnly": true
            }
          ]
        }
      }
    }
  },
  "example": {
    "_type": "QueryFilterInstanceSchema",
    "_dependencies": [
      {
        "_type": "SchemaDependency",
        "on": "operator",
        "dependencies": {
          "/api/v3/queries/operators/=": {
            "values": {
              "type": "[]User",
              "name": "Values",
              "required": true,
              "hasDefault": false,
              "writable": true,
              "_links": {}
            }
          },
          "/api/v3/queries/operators/!": {
            "values": {
              "type": "[]User",
              "name": "Values",
              "required": true,
              "hasDefault": false,
              "writable": true,
              "_links": {}
            }
          }
        }
      }
    ],
    "name": {
      "type": "String",
      "name": "Name",
      "required": true,
      "hasDefault": true,
      "writable": false
    },
    "filter": {
      "type": "QueryFilter",
      "name": "Filter",
      "required": true,
      "hasDefault": false,
      "writable": true,
      "_links": {}
    },
    "_links": {
      "self": {
        "href": "/api/v3/queries/filter_instance_schemas/author"
      },
      "filter": {
        "href": "/api/v3/queries/filters/author",
        "title": "Author"
      }
    }
  }
}

403

Returned if the client does not have sufficient permissions to see it.

Required permission: view work package in any project

{
  "_type": "Error",
  "errorIdentifier": "urn:openproject-org:api:v3:errors:Unauthenticated",
  "message": "You are not authorized to access this resource."
}
ErrorResponse
{
  "type": "object",
  "required": [
    "_type",
    "errorIdentifier",
    "message"
  ],
  "properties": {
    "_embedded": {
      "type": "object",
      "properties": {
        "details": {
          "type": "object",
          "properties": {
            "attribute": {
              "type": "string",
              "example": "project"
            }
          }
        }
      }
    },
    "_type": {
      "type": "string",
      "enum": [
        "Error"
      ]
    },
    "errorIdentifier": {
      "type": "string",
      "example": "urn:openproject-org:api:v3:errors:PropertyConstraintViolation"
    },
    "message": {
      "type": "string",
      "example": "Project can't be blank."
    }
  }
}

404

Returned if the QueryFilterInstanceSchema does not exist.

{
  "_type": "Error",
  "errorIdentifier": "urn:openproject-org:api:v3:errors:NotFound",
  "message": "The specified query does not exist."
}
ErrorResponse
{
  "type": "object",
  "required": [
    "_type",
    "errorIdentifier",
    "message"
  ],
  "properties": {
    "_embedded": {
      "type": "object",
      "properties": {
        "details": {
          "type": "object",
          "properties": {
            "attribute": {
              "type": "string",
              "example": "project"
            }
          }
        }
      }
    },
    "_type": {
      "type": "string",
      "enum": [
        "Error"
      ]
    },
    "errorIdentifier": {
      "type": "string",
      "example": "urn:openproject-org:api:v3:errors:PropertyConstraintViolation"
    },
    "message": {
      "type": "string",
      "example": "Project can't be blank."
    }
  }
}