# Create a diff **POST /diffs** Create a diff between any two given API definitions. The diff result will be available asynchronously and needs to be retrieved with the [`GET /diffs/:id` API endpoint](#operation-get-diffs-parameter). ## Servers ## Parameters ### Body: (object) The diff creation request object - **url** (string(uri)) **Required** if `definition` is not present. Current definition URL. It should be accessible through HTTP by Bump servers. - **previous_url** (string(uri)) **Required** if `definition` is not present. Previous definition URL. It should be accessible through HTTP by Bump servers. - **previous_definition** (string) **Required** if `url` is not present. Serialized definition of the previous version. This should be an OpenAPI 2.x, 3.x or AsyncAPI 2.x file serialized as a string, in YAML or JSON. - **previous_references** (array[object]) Import external references used by `previous_definition`. It's usually resources not accessible by Bump servers, like local files or internal URLs. - **definition** (string) **Required** if `url` is not present. Serialized definition of the current version. This should be an OpenAPI 2.x, 3.x or AsyncAPI 2.x file serialized as a string, in YAML or JSON. - **references** (array[object]) Import external references used by `definition`. It's usually resources not accessible by Bump servers, like local files or internal URLs. - **expires_at** (string(date-time)) Public change expiration date and time. After this date, this documentation change will be destroyed. ## Responses ### 422 Definition is not valid. #### Body: (object) - **message** (string) Human readable error message. - **errors** (object) Hash of invalid attributes with their error messages. ### 201 Diff successfully created #### Body: (object) - **id** (string) Unique id of your diff [Powered by Bump.sh](https://bump.sh)