├── .gitignore ├── README.md ├── api.yaml ├── package.json └── standards.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | package-lock.json 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ⚠️⚠️⚠️ This library is no longer updated. For an updated spec, use the following curl: ⚠️⚠️⚠️ 2 | 3 | ``` 4 | curl -X GET \ 5 | 'https://api.vimeo.com/?openapi=1' \ 6 | -H 'Accept: application/json;version=3.4' \ 7 | -H 'Authorization: bearer YOUR_BEARER_TOKEN' 8 | ``` 9 | 10 | # Vimeo + OpenAPI 11 | 12 | 13 | 14 | Our OpenAPI specification powers the [Vimeo API Reference](https://developer.vimeo.com/api/reference) pages and API playground. 15 | 16 | For an updated spec, make the following request: 17 | ``` 18 | curl -X GET \ 19 | 'https://api.vimeo.com/?openapi=1' \ 20 | -H 'Accept: application/json;version=3.4' \ 21 | -H 'Authorization: bearer YOUR_BEARER_TOKEN' 22 | ``` 23 | 24 | If you also wish to receive a copy of the specification for a different API version (version 3.4 is our latest public default), you can do so by changing your `Accept` header to pull a copy appropriate for that version. 25 | 26 | ## Support 27 | If you have any questions or problems, [contact us](https://vimeo.com/help/contact). 28 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "speccy": "^0.8.5" 4 | }, 5 | "scripts": { 6 | "test": "speccy lint api.yaml" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /standards.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": "strict", 3 | "rules": [ 4 | { 5 | "name": "operation-summary-uses-video-term-instead-of-clip", 6 | "object": "*", 7 | "enabled": true, 8 | "description": "operation summaries should use the term `video` instead of `clip`", 9 | "notContain": { 10 | "properties": ["summary"], 11 | "pattern": { 12 | "value": "clip", 13 | "flags": "gi" 14 | } 15 | } 16 | }, 17 | { 18 | "name": "operation-summary-should-not-have-trailing-punctuation", 19 | "object": "*", 20 | "enabled": true, 21 | "description": "operation summaries should not have trailing punctuation", 22 | "pattern": { 23 | "property": "summary", 24 | "value": "^[a-zA-Z0-9 ']+$" 25 | } 26 | }, 27 | { 28 | "name": "schema-title-uses-video-term-instead-of-clip", 29 | "object": "*", 30 | "enabled": false, 31 | "description": "schema titles should use the term `video` instead of `clip`", 32 | "notContain": { 33 | "properties": ["title"], 34 | "pattern": { 35 | "value": "clip", 36 | "flags": "gi" 37 | } 38 | } 39 | }, 40 | { 41 | "name": "response-description-uses-video-term-instead-of-clip", 42 | "object": "response", 43 | "enabled": true, 44 | "description": "response descriptions should use the term `video` instead of `clip`", 45 | "notContain": { 46 | "properties": ["description"], 47 | "pattern": { 48 | "value": "clip", 49 | "flags": "gi" 50 | } 51 | } 52 | }, 53 | { 54 | "name": "response-description-should-should-have-trailing-punctuation", 55 | "object": "response", 56 | "enabled": true, 57 | "pattern": { 58 | "property": "description", 59 | "split": "\n", 60 | "value": "^(There are [a-z]+ ways that this status code can be encountered:|(.*)[.?!])$" 61 | } 62 | } 63 | ] 64 | } 65 | --------------------------------------------------------------------------------