{"id":24178798,"url":"https://github.com/reloadly/reloadly-api-documentation","last_synced_at":"2025-08-30T12:39:40.873Z","repository":{"id":39586100,"uuid":"467069634","full_name":"Reloadly/reloadly-api-documentation","owner":"Reloadly","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-25T10:55:22.000Z","size":634,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T22:59:53.656Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Reloadly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-07T11:42:42.000Z","updated_at":"2022-05-20T17:50:04.000Z","dependencies_parsed_at":"2022-07-04T11:13:05.639Z","dependency_job_id":null,"html_url":"https://github.com/Reloadly/reloadly-api-documentation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Reloadly/reloadly-api-documentation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloadly%2Freloadly-api-documentation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloadly%2Freloadly-api-documentation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloadly%2Freloadly-api-documentation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloadly%2Freloadly-api-documentation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Reloadly","download_url":"https://codeload.github.com/Reloadly/reloadly-api-documentation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloadly%2Freloadly-api-documentation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272852282,"owners_count":25004054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-13T05:13:42.830Z","updated_at":"2025-08-30T12:39:40.832Z","avatar_url":"https://github.com/Reloadly.png","language":"C#","readme":"# OpenAPI Definition Starter\n\n## How to use this starter\n\n![Click use template button](https://user-images.githubusercontent.com/3975738/92927304-12e35d80-f446-11ea-9bd3-a0f8a69792d0.png)\n\n## Working on your OpenAPI Definition\n\n### Install\n\n1. Install [Node JS](https://nodejs.org/).\n2. Clone this repo and run `npm install` in the repo root.\n\n### Usage\n\n#### `npm start`\nStarts the reference docs preview server.\n\n#### `npm run build`\nBundles the definition to the dist folder.\n\n#### `npm test`\nValidates the definition.\n\n## Contribution Guide\n\nBelow is a sample contribution guide. The tools\nin the repository don't restrict you to any\nspecific structure. Adjust the contribution guide\nto match your own structure. However, if you\ndon't have a structure in mind, this is a\ngood place to start.\n\nUpdate this contribution guide if you\nadjust the file/folder organization.\n\nThe `.redocly.yaml` controls settings for various\ntools including the lint tool and the reference\ndocs engine.  Open it to find examples and\n[read the docs](https://redocly.com/docs/cli/configuration/)\nfor more information.\n\n\n### Schemas\n\n#### Adding Schemas\n\n1. Navigate to the `openapi/components/schemas` folder.\n2. Add a file named as you wish to name the schema.\n3. Define the schema.\n4. Refer to the schema using the `$ref` (see example below).\n\n##### Example Schema\nThis is a very simple schema example:\n```yaml\ntype: string\ndescription: The resource ID. Defaults to UUID v4\nmaxLength: 50\nexample: 4f6cf35x-2c4y-483z-a0a9-158621f77a21\n```\nThis is a more complex schema example:\n```yaml\ntype: object\nproperties:\n  id:\n    description: The customer identifier string\n    readOnly: true\n    allOf:\n      - $ref: ./ResourceId.yaml\n  websiteId:\n    description: The website's ID\n    allOf:\n      - $ref: ./ResourceId.yaml\n  paymentToken:\n    type: string\n    writeOnly: true\n    description: |\n      A write-only payment token; if supplied, it will be converted into a\n      payment instrument and be set as the `defaultPaymentInstrument`. The\n      value of this property will override the `defaultPaymentInstrument`\n      in the case that both are supplied. The token may only be used once\n      before it is expired.\n  defaultPaymentInstrument:\n    $ref: ./PaymentInstrument.yaml\n  createdTime:\n    description: The customer created time\n    allOf:\n      - $ref: ./ServerTimestamp.yaml\n  updatedTime:\n    description: The customer updated time\n    allOf:\n      - $ref: ./ServerTimestamp.yaml\n  tags:\n    description: A list of customer's tags\n    readOnly: true\n    type: array\n    items:\n      $ref: ./Tags/Tag.yaml\n  revision:\n    description: \u003e\n      The number of times the customer data has been modified.\n\n      The revision is useful when analyzing webhook data to determine if the\n      change takes precedence over the current representation.\n    type: integer\n    readOnly: true\n  _links:\n    type: array\n    description: The links related to resource\n    readOnly: true\n    minItems: 3\n    items:\n      anyOf:\n        - $ref: ./Links/SelfLink.yaml\n        - $ref: ./Links/NotesLink.yaml\n        - $ref: ./Links/DefaultPaymentInstrumentLink.yaml\n        - $ref: ./Links/LeadSourceLink.yaml\n        - $ref: ./Links/WebsiteLink.yaml\n  _embedded:\n    type: array\n    description: \u003e-\n      Any embedded objects available that are requested by the `expand`\n      querystring parameter.\n    readOnly: true\n    minItems: 1\n    items:\n      anyOf:\n        - $ref: ./Embeds/LeadSourceEmbed.yaml\n\n```\n\nIf you have an JSON example, you can convert it to JSON schema using Redocly's [JSON to JSON schema tool](https://redocly.com/tools/json-to-json-schema/).\n\n##### Using the `$ref`\n\nNotice in the complex example above the schema definition itself has `$ref` links to other schemas defined.\n\nHere is a small excerpt with an example:\n\n```yaml\ndefaultPaymentInstrument:\n  $ref: ./PaymentInstrument.yaml\n```\n\nThe value of the `$ref` is the path to the other schema definition.\n\nYou may use `$ref`s to compose schema from other existing schema to avoid duplication.\n\nYou will use `$ref`s to reference schema from your path definitions.\n\n#### Editing Schemas\n\n1. Navigate to the `openapi/components/schemas` folder.\n2. Open the file you wish to edit.\n3. Edit.\n\n### Paths\n\n#### Adding a Path\n\n1. Navigate to the `openapi/paths` folder.\n2. Add a new YAML file named like your URL endpoint except replacing `/` with `_` (or whichever character you prefer) and putting path parameters into curly braces like `{example}`.\n3. Add the path and a ref to it inside of your `openapi.yaml` file inside of the `openapi` folder.\n\nExample addition to the `openapi.yaml` file:\n```yaml\n'/customers/{id}':\n  $ref: './paths/customers_{id}.yaml'\n```\n\nHere is an example of a YAML file named `customers_{id}.yaml` in the `paths` folder:\n\n```yaml\nget:\n  tags:\n    - Customers\n  summary: Retrieve a list of customers\n  operationId: GetCustomerCollection\n  description: |\n    You can have a markdown description here.\n  parameters:\n    - $ref: ../components/parameters/collectionLimit.yaml\n    - $ref: ../components/parameters/collectionOffset.yaml\n    - $ref: ../components/parameters/collectionFilter.yaml\n    - $ref: ../components/parameters/collectionQuery.yaml\n    - $ref: ../components/parameters/collectionExpand.yaml\n    - $ref: ../components/parameters/collectionFields.yaml\n  responses:\n    '200':\n      description: A list of Customers was retrieved successfully\n      headers:\n        Rate-Limit-Limit:\n          $ref: ../components/headers/Rate-Limit-Limit.yaml\n        Rate-Limit-Remaining:\n          $ref: ../components/headers/Rate-Limit-Remaining.yaml\n        Rate-Limit-Reset:\n          $ref: ../components/headers/Rate-Limit-Reset.yaml\n        Pagination-Total:\n          $ref: ../components/headers/Pagination-Total.yaml\n        Pagination-Limit:\n          $ref: ../components/headers/Pagination-Limit.yaml\n        Pagination-Offset:\n          $ref: ../components/headers/Pagination-Offset.yaml\n      content:\n        application/json:\n          schema:\n            type: array\n            items:\n              $ref: ../components/schemas/Customer.yaml\n        text/csv:\n          schema:\n            type: array\n            items:\n              $ref: ../components/schemas/Customer.yaml\n    '401':\n      $ref: ../components/responses/AccessForbidden.yaml\n  x-code-samples:\n    - lang: PHP\n      source:\n        $ref: ../code_samples/PHP/customers/get.php\npost:\n  tags:\n    - Customers\n  summary: Create a customer (without an ID)\n  operationId: PostCustomer\n  description: Another markdown description here.\n  requestBody:\n    $ref: ../components/requestBodies/Customer.yaml\n  responses:\n    '201':\n      $ref: ../components/responses/Customer.yaml\n    '401':\n      $ref: ../components/responses/AccessForbidden.yaml\n    '409':\n      $ref: ../components/responses/Conflict.yaml\n    '422':\n      $ref: ../components/responses/InvalidDataError.yaml\n  x-code-samples:\n    - lang: PHP\n      source:\n        $ref: ../code_samples/PHP/customers/post.php\n```\n\nYou'll see extensive usage of `$ref`s in this example to different types of components including schemas.\n\nYou'll also notice `$ref`s to code samples.\n\n### Code samples\n\nAutomated code sample generations is enabled in the Redocly configuration file. Add manual code samples by the following process:\n\n1. Navigate to the `openapi/code_samples` folder.\n2. Navigate to the `\u003clanguage\u003e` (e.g. PHP) sub-folder.\n3. Navigate to the `path` folder, and add ref to the code sample.\n\nYou can add languages by adding new folders at the appropriate path level.\n\nMore details inside the `code_samples` folder README.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freloadly%2Freloadly-api-documentation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freloadly%2Freloadly-api-documentation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freloadly%2Freloadly-api-documentation/lists"}