Checklist for becoming a GitLab API Expert

Create an issue with this checklist on the support team issue tracker with the Title: "GitLab API Boot Camp - your_name"

Tackle stage 1 first and the last stage last, but the others can be completed in any order you prefer.

**Goal of this checklist:** Set a clear path for GitLab API training

### Stage 1: Commit and Become familiar with what GitLab API is

- [ ] **Done with Stage 1**

1. [ ] Ping your manager on the issue to notify them you have started
1. [ ] Commit to this by notifying the current experts that they can start routing non-technical API related questions to you
1. [ ] Read the [GitLab API Overview](https://docs.gitlab.com/ee/api/README.html)

1. [ ] Find answers to and understand the following question
   1. [ ] How are the API routes handled differently from the Rails routes?
   1. [ ] What does it mean to [Grapify the API](http://www.ruby-grape.org/)?
   1. [ ] Where in the code do I look to find which attributes are exposed for an API route (e.g. users)?

### Stage 2: Using the GitLab API

- [ ] **Done with Stage 2**

Remember to contribute to any documentation that needs updating

1. [ ] Read documentation for 5 different APIs, for e.g. projects, branches,
etc. Paste the links here.
    1. [ ] __
    1. [ ] __
    1. [ ] __
    1. [ ] __
    1. [ ] __

1. [ ] Call the API using all the different authentication methods available
   1. [ ] [Private Tokens](https://docs.gitlab.com/ee/api/README.html#private-tokens)
   1. [ ] [OAuth 2 Tokens](https://docs.gitlab.com/ee/api/README.html#oauth-2-tokens)
   1. [ ] [Personal Access Tokens](https://docs.gitlab.com/ee/api/README.html#personal-access-tokens)
   1. [ ] [Session Cookie](https://docs.gitlab.com/ee/api/README.html#session-cookie)

### Stage 3: Tickets

- [ ] **Done with Stage 3**

1. [ ] Look for 10 old API tickets and read through them to understand what the
issue was and how it was addressed. Paste the links here.

   1. [ ] __
   1. [ ] __
   1. [ ] __
   1. [ ] __
   1. [ ] __
   1. [ ] __
   1. [ ] __
   1. [ ] __
   1. [ ] __
   1. [ ] __

1. [ ] Look for 5 API related issues on gitlab-ce/gitlab-ee issue trackers and
paste the links here

  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __

1. [ ] Answer 10 API tickets and paste the links here. Do this even if a ticket
seems too advanced for you to answer. Find the answers from an expert and relay
it to the customer.

  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __
  1. [ ] __

### Stage 4: Pair on Customer Calls

- [ ] **Done with Stage 4**

1. [ ] Sales calls with customers that have expressed interest in GitLab API,
and will be asking questions about it.
   1. [ ] call with ___
   1. [ ] call with ___
1. [ ] Diagnosis calls, where something is wrong with GitLab API for a customer
  1. [ ] call with ___
  1. [ ] call with ___

### Stage 5: GitLab API Project

- [ ] **Done with Stage 5**

1. [ ] Develop a small GitLab API integration / automation using two or more
APIs of your choice. Put it on your GitLab.com account and link it here.

### Final Stage

- [ ] Ask Lee to look over this list, send a MR to delete this line after they both satisfied with the list
- [ ] Send a MR to declare yourself a **GitLab API Expert** on the team page