Hi @mgudites ,
The transition from Blackboard to Canvas can definitely be a challenge. The advice to go to the API docs is given because Canvas (the system) is platform agnostic. A REST API is, at the end of the day, just a collection of web pages: you go to a particular, defined, url; Canvas performs a particular action and gives you a response. You can use any language or tool that's convenient for you. The examples in the docs use curl, which is included on nearly every linux/unix server and desktop, and can be a easily installed on Macs and Windows PCs (curl for Windows ). Most people who do much API work have a scripting language of choice, though, and there are good examples out there in almost every scripting language sysadmins use daily for configuration management on different platforms: Perl, Ruby, Python, PHP, .NET, Powershell, Node.js, etc. Even Bash for the particularly old-school.
That's a bit of a departure from Blackboard's "my way or the highway" approach to automation, but in an ideal world, it should make it easier to fit Canvas into whatever your school's existing IT ecosystem is.
Stuart Ryan's Getting Started guide is definitely the place to start.
If you don't have particular preference and/or your school isn't an "X" shop, I'd suggest using the Python bindings from UCF (GitHub - ucfopen/canvasapi: Python API wrapper for Instructure's Canvas LMS ). Python seems to be the "it" scripting language at the moment and there's a lot of good information out there to get up and running quickly.
But it doesn't have to be all scripting, either. Well-formatted JSON isn't difficult to read, and sometimes it's faster and/or better to just look at things with human eyes. There are also good API tools out there like PAW, which someone mentioned above, and Postman (Postman | API Development Environment ) that make it easy to manually construct urls with different parameters and read the responses, both for testing and for frequently-performed manual tasks.
The thing to remember is that Blackboard was cryptic and unintuitive at first, too, with that thing you do once a semester in a setting buried ten levels deep in some menu somewhere that you have to look up in manual the first 10 (or 20) times.
Having done this same transition, I'd also advise against putting the cart before the horse. Canvas is a very different product from some other LMS, and is designed to function in very different ways. Trying to replicate Blackboard's behavior is probably a recipe for frustration. A lot of the standard practices in Blackboard come from a very different time in LMS development, when the LMS was "it" as far as electronic materials we're concerned. So in addition to actual teaching and learning, Blackboard was designed to manage a lot of administrative "stuff" like posting syllabi, functioning as a student portal, and being a sort of general-purpose document distribution system. Canvas, though, is designed around the exception that it exists in an ecosystem with a dedicated student portal, which most places now have, and also probably a much simpler document distribution system like Google Drive or OneDrive or Dropbox.
Canvas is designed, pedagogically, to embrace a particular constructivist theory of education in general, and distance education in particular. The assumption is that faculty should be taking responsibility for their courses and be actively engaged in their design, management, and distribution, because that leads (in theory) to better student outcomes. Canvas resists central administration at almost every level, beyond basic enrollment, in favor of authority devolved to departments (sub-accounts) and ultimately faculty. So some of the things you're asking about--like publishing courses in bulk--are actually difficult by design, because the the expectation is that faculty should be making their courses available at a point that makes sense, pedagogically, for a particular course. Everything doesn't need to be published at the same time.
Similarly batch copy: direct batch copy isn't intuitive, but Canvas offers the Commons, for faculty to pull content from other courses, and Blueprint Courses for instructional designers to push content to courses, in addition to the normal course copy function that is available to faculty in all their courses. It's ultimately the same result as Blackboard, it's just initiated from a different point in the hierarchy.
Administrators *can* do it vis the API, but it's not really the way the system is designed to be used. It's kind of like offroading in a Porsche. Sure, you *can*, it's got 4WD, but the dealer isn't going to suggest it, and the people who do it modify them heavily for rallying.
Anyway, I've done several transitions from other systems to Canvas, and I'm happy to chat offline about the process, and about learning the API as somebody who isn't a professional programmer.