Catalog
The Catalog function allows you to generate an API Key that will integrate into your application and allow us to view live monitors, as well as all your current monitors, and show these in your Catalog. From here, you can add any of these monitors to your Monitor List and add them to schedules or workflows. Additionally, you can upload your OAS specification to compare to the live traffic for any inconsistencies between the intended architecture and the implemented architecture.
Configure Catalog
Set up an API Key
The Catalog can be found under the Analytics & Reporting section in the sidebar.

From the Catalog, you can now create your API Key and upload your specifications. To create your API Key, select the Create an API Key button.

A popup will appear with your new API Key that you can copy to your clipboard.

If you lose your API Key, it can also be found under the Advanced section in APImetrics API. From there it can also be deleted.
Integrate With Your Application
APImetrics has multiple observability and egress adaptors for integration with your application. You can view our observability adaptors.
Optional: Upload OpenAPI Specification
To upload your file, select the Upload my JSON or YAML file button.

This will open a popup where you can upload your file by selecting the Choose File and then the Upload File buttons. Note that specification files are limited to 8 MB each.

After the upload, confirm which base URLs to use for the spec: the specification's dialog lists them under Servers ("Please confirm which base URLs you wish to use for this OpenAPI specification"). Only these URLs are used to match monitors, as described in How monitors are matched to your spec.
Checks on an uploaded spec
Every uploaded spec is linted. A spec that is not OpenAPI 3.x, or that cannot be parsed, is converted to OpenAPI 3.0 and then linted again.
These rules report errors: spec, path-declaration-must-exist, no-identical-paths, and no-unresolved-refs. Because of no-unresolved-refs, every $ref must resolve within the uploaded file.
These rules report warnings: spec-strict-refs, no-undefined-server-variable, path-not-include-query, path-parameters-defined, operation-operationId-unique, operation-parameters-unique, operation-2xx-response, spec-components-invalid-map-name, no-server-example.com, no-server-trailing-slash, no-ambiguous-paths, and no-enum-type-mismatch. A spec with no openapi field, such as a Swagger 2.0 file, also gets the warning "API specification file should be OpenAPI 3.x".
Investigating Results
Once you've configured your Catalog, you can then explore your results. From here, you can see the HTTP Method, the endpoint URL, the Source of the call, and how many times it has been called. The Source is useful for telling you what monitors are and are not identified in your specs. All of your monitors will be aggregated in the Catalog for easy analysis. From here, you can also add any monitors that are unmonitored by APImetrics by clicking the Monitor this Endpoint button.

How monitors are matched to your spec
The Catalog lists each operation in your spec once for each confirmed base URL that applies to it, as a method and a full URL (the base URL followed by the operation's path). Server variables in a base URL are expanded: each value of an enum, or the default. A monitor appears against an operation when the two match:
- Method. The HTTP methods must be the same.
- Path, compared from the end. The URLs are compared one path segment at a time, starting from the last segment. Query strings are ignored.
- Path variables match any segment. A variable in the spec, such as
{petId}in/pets/{petId}, matches any single segment, so a monitor that calls/pets/123matches it. - Hosts must agree when both have one. If both URLs include a host, the scheme and host must be the same.
- A shorter URL can match the end of a longer one. For example, an operation whose base URL is the relative path
/v1matches a monitor that callshttps://api.example.com/v1/petsfor/v1/pets.
A monitor that matches no operation is still listed, but not as part of your spec.