title: Custom content type - is registering with IANA mandatory?
body: <p>I'm developing an API as RESTful as possible (though the HATEOAS constraint is not met thus it is <strong>not</strong> a REST API <em>per se</em>)</p>
  <p>I'm versioning the API, and since there are several ways to do this, I think I'm going to use the Accept header. I do know the alternatives, but the purpose of this question is not to find a suitable way to version the API.</p>
  <p>As far as I know, there are two ways to version API using the Accept header, as seen <a href="https://stackoverflow.com/a/6750376">here</a>, <a href="https://stackoverflow.com/a/12037587">here</a> and <a href="https://stackoverflow.com/a/11974295/1988372">here</a>:</p>
  <pre><code>application/vnd.company.myapp-v1+json
  </code></pre>
  <p>or using a qualifier</p>
  <pre><code>application/vnd.company.myapp+json;v=1
  </code></pre>
  <p>While this is quite clear, I understood that all <code>x-</code> custom content types have been <a href="https://www.rfc-editor.org/rfc/rfc6648" rel="nofollow noreferrer">deprecated</a> and <code>vnd.</code> content types have to be registered with IANA.</p>
  <p>The API is not and will not be public, all the clients using it are developed internally.</p>
  <p>Is registering a custom vnd. content type with IANA mandatory? What happens if the content type is not registered?
  Can I simply use Accept header <code>application/vnd.company.myapp+json;v=2</code> even without registering it with IANA?</p>
  <p>Since I need a custom content type for content negociation purely for versioning purposes, can I use qualifier such as <code>application/json;v=2</code> ?</p>