A coverage on a 2-category $C$ consists of, for each object $U\in C$, a collection of families $(f_i: U_i\to U)_i$ of morphisms with codomain $U$, called covering families, such that
This is the 2-categorical analogue of the 1-categorical notion of coverage introduced in the Elephant.
A 2-category equipped with a coverage is called a 2-site.
If $C$ is a regular 2-category, then the collection of all singleton families $(f:V\to U)$, where $f$ is eso, forms a coverage called the regular coverage.
Likewise, if $C$ is a coherent 2-category, the collection of all finite jointly-eso families forms a coverage called the coherent coverage.
On $Cat$, the canonical coverage consists of all families that are jointly essentially surjective on objects.
Let $C$ be a 2-site having finite limits (for convenience). For a covering family $(f_i:U_i\to U)_i$ we have the comma objects
We also have the double comma objects $(f_i/f_j/f_k) = (f_i/f_j)\times_{U_j} (f_j/f_k)$ with projections $r_{i j k}:(f_i/f_j/f_k)\to (f_i/f_j)$, $s_{i j k}:(f_i/f_j/f_k)\to (f_j/f_k)$, and $t_{i j k}:(f_i/f_j/f_k)\to (f_i/f_k)$.
Now, a functor $X:C^{op} \to Cat$ is called a 2-presheaf. It is 1-separated if
It is 2-separated if it is 1-separated and
It is a 2-sheaf if it is 2-separated and
there exists an object $x\in X(U)$ and isomorphisms $X(f_i)(x)\cong x_i$ such that for all $i,j$ the following square commutes:
A 2-sheaf, especially on a 1-site, is frequently called a stack. However, this has the unfortunate consequence that a 3-sheaf is then called a 2-stack, and so on with the numbering all offset by one. Also, it can be helpful to use a new term because of the notable differences between 2-sheaves on 2-sites and 2-sheaves on 1-sites. The main novelty is that $\mu_{i j}$ and $\zeta_{i j}$ need not be invertible.
Note, though, they must be invertible as soon as $C$ is (2,1)-site: $\mu_{i j}$ by definition and $\zeta_{i j}$ since an inverse is provided by $\iota_{i j}^*(\zeta_{i j})$, where $\iota_{i j}\maps (f_i/f_j) \to (f_j/f_i)$ is the symmetry equivalence.
If $C$ lacks finite limits, then in the definitions of “2-separated” and “2-sheaf” instead of the comma objects $(f_i/f_j)$, we need to use arbitrary objects $V$ equipped with maps $p:V\to U_i$, $q:V\to U_j$, and a 2-cell $f_i p \to f_j q$. We leave the precise definition to the reader.
A 2-site is said to be subcanonical if for any $U\in C$, the representable functor $C(-,U)$ is a 2-sheaf. When $C$ has finite limits, it is easy to verify that this is true precisely when every covering family is a (necessarily pullback-stable) quotient of its kernel 2-polycongruence. In particular, the regular coverage on a regular 2-category is subcanonical, as is the coherent coverage on a coherent 2-category.
The 2-category $2Sh(C)$ of 2-sheaves on a small 2-site $C$ is, by definition, a Grothendieck 2-topos.
A pre-Grothendieck coverage on a 2-category is a coverage satisfying the following additional conditions:
If $f:V\to U$ is an equivalence, then the one-element family $(f:V\to U)$ is a covering family.
If $(f_i:U_i\to U)_{i\in I}$ is a covering family and for each $i$, so is $(h_{i j}:U_{i j} \to U_i)_{j\in J_i}$, then $(f_i h_{i j}:U_{i j}\to U)_{i\in I, j\in U_i}$ is also a covering family.
This is the 2-categorical version of a Grothendieck pretopology.
Now, a sieve on an object $U\in C$ is defined to be a functor $R:C^{op}\to Cat$ with a transformation $R\to C(-,U)$ which is objectwise fully faithful (equivalently, it is ff in $[C^{op},Cat]$). Every family $(f_i:U_i\to U)_i$ generates a sieve by defining $R(V)$ to be the full subcategory of $C(V,U)$ on those $g:V\to U$ such that $g \cong f_i h$ for some $i$ and some $h:V\to U_i$. The following observation is due to StreetCBS.
A 2-presheaf $X:C^{op}\to Cat$ is a 2-sheaf for a covering family $(f_i:U_i\to U)_i$ if and only if
is an equivalence, where $R$ is the sieve on $U$ generated by $(f_i:U_i\to U)_i$.
Therefore, just as in the 1-categorical case, it is natural to restrict attention to covering sieves. We define a Grothendieck coverage on a 2-category $C$ to consist of, for each object $U$, a collection of sieves on $U$ called covering sieves, such that
If $R$ is a covering sieve on $U$ and $g:V\to U$ is any morphism, then $g^*(R)$ is a covering sieve on $V$.
For each $U$ the sieve $M_U$ consisting of all morphisms into $U$ (the sieve generated by the singleton family $(1_U)$) is a covering sieve.
If $R$ is a covering sieve on $U$ and $S$ is an arbitrary sieve on $U$ such that for each $f:V\to U$ in $R$, $f^*(S)$ is a covering sieve on $V$, then $S$ is also a covering sieve on $U$.
Here if $R$ is a sieve on $U$ and $g:V\to U$ is a morphism, $g^*(R)$ denotes the sieve on $V$ consisting of all morphisms $h$ into $V$ such that $g h$ factors, up to isomorphism, through some morphism in $R$.
As in the 1-categorical case, one can then show that every coverage generates a unique Grothendieck coverage having the same 2-sheaves.