There are two types of APIs produced by BYU: University APIs and Domain APIs. Often, University and Domain APIs will have overlapping functionality. As a general rule, developers are encouraged to subscribe to University APIs, rather than Domain APIs. The table below highlights some key points that distinguish University APIs from Domain APIs.

 

University API Domain/Legacy API
  • Recommended option for consuming an API
  • Should only be used in specific situations allowed by the domain team maintaining the API
  • Data structure kept consistent across current major version
  • Data structure may change according to needs of domain team
  • New updates remain compatible with existing code across current major version
  • New updates may lead to incompatibility with subscribed applications
  • Swagger meets University API standard
  • Swagger may not meet the University API standard**
  • Contains data and procedures for which there is a strong or common business usecase
  • Contains data and procedures which are generally common but should be accessed through the University API, or which may be relevant to only a small group of users
  • Ideal for external and cross-departmental use
  • Ideal for use by the domain team which published it
  • Enables users to gain authorization for particular fieldsets
  • Requires authorization for all elements of the API

**The comment above which states that Domain/Legacy APIs' Swagger documents may not meet the University API standard is intended as a warning to consumers, not as a free pass to publishers. All APIs published to the API Store are expected to comply with the guidelines described in the University API standard.