I can sot of give the definition of a colimit (or limit) as the initial (or terminal) cocone (or cone) under (or over) a certain diagram. Some like to say that colimit (or limit) is a functor and indeed one can define it as a left (or right) adjoint of the diagonal (assuming it exists). But if we use the initial or terminal object definition, it is not so much a functor, since it is well defined, but only well defined up to canonical isomorphism. Some choice will give us a real functor, but that is somewhat contrived. So the question is, if this is not a functor, what kind of categorical gadget is it? Any references will be welcome.



What is a colimit, really?
Well, the thing that may or may not be a "real functor" (and which may even fail to exist if the limit(/colimit) does not always exist) is in any case a "profunctor" (that is, a functor into $Set^{C^{op}}$ (or $Set^C$ for colimits) rather than into $C$). The limit of a diagram will actually exist just in case the profunctor's value at that diagram is a representable presheaf (that is, one in the range (up to isomorphism) of the Yoneda embedding). If one makes a choice of such a representation at every diagram, one can factor the entire profunctor through the Yoneda embedding, into a genuine functor. This of course is precisely the choice you want to avoid, but it indicates that one can at least still treat the profunctor as an "anafunctor" in such cases (essentially, a functor whose value at an object/morphism is only determined up to isomorphism, in a coherent way). Further reading on profunctors and anafunctors (for example, at the nLab) may be precisely the sort of thing you are looking for.


In short: profunctors are the way to describe adjoints which may exist only partially, while anafunctors are the way to describe functors whose construction requires a number of arbitrary choices (with anafunctors both avoiding the "evil" in making any single choice and the need for the Axiom of Choice in making so many of them).


