openapi: 3.2.0 info: title: Insurance App Company API description: Resource 'Company' operations. version: 0.1.0 servers: - url: https://insurance-app.goodlord.co/ description: Development - url: https://insurance-app.staging.goodoverlord.com/ description: Staging - url: https://insurance-app.qa1.goodoverlord.com/ description: QA1 - url: https://insurance-app.demo.goodlord.co/ description: Demo security: - JWT: [] tags: - name: Company description: Resource 'Company' operations. paths: /api/v1/companies: get: operationId: api_companies_get_collection tags: - Company responses: '200': description: Company collection content: application/vnd.api+json: schema: description: Company.jsonapi collection. allOf: - $ref: '#/components/schemas/JsonApiCollectionBaseSchema' - type: object properties: data: type: array items: type: object properties: id: type: string type: type: string attributes: $ref: '#/components/schemas/Company' required: - type - id application/json: schema: type: array items: $ref: '#/components/schemas/Company' text/csv: schema: type: array items: $ref: '#/components/schemas/Company.csv' '403': description: Forbidden content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error.jsonapi' application/problem+json: schema: $ref: '#/components/schemas/Error' application/json: schema: $ref: '#/components/schemas/Error' links: {} summary: Retrieves the collection of Company resources. description: Retrieves the collection of Company resources. parameters: - name: page in: query description: The collection page number required: false deprecated: false schema: type: integer default: 1 style: form explode: false - name: itemsPerPage in: query description: The number of items per page required: false deprecated: false schema: type: integer default: 50 minimum: 0 maximum: 100 style: form explode: false /api/v1/companies/{id}: get: operationId: api_companies_id_get tags: - Company responses: '200': description: Company resource content: application/vnd.api+json: schema: $ref: '#/components/schemas/Company.jsonapi' application/json: schema: $ref: '#/components/schemas/Company' text/csv: schema: $ref: '#/components/schemas/Company.csv' '403': description: Forbidden content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error.jsonapi' application/problem+json: schema: $ref: '#/components/schemas/Error' application/json: schema: $ref: '#/components/schemas/Error' links: {} '404': description: Not found content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error.jsonapi' application/problem+json: schema: $ref: '#/components/schemas/Error' application/json: schema: $ref: '#/components/schemas/Error' links: {} summary: Retrieves a Company resource. description: Retrieves a Company resource. parameters: - name: id in: path description: Company identifier required: true deprecated: false schema: type: string style: simple explode: false components: schemas: JsonApiCollectionBaseSchema: allOf: - $ref: '#/components/schemas/JsonApiCollectionBaseSchemaNoPagination' - type: object properties: links: type: object properties: first: type: string format: iri-reference prev: type: string format: iri-reference next: type: string format: iri-reference last: type: string format: iri-reference example: first: string prev: string next: string last: string meta: type: object properties: itemsPerPage: type: integer minimum: 0 currentPage: type: integer minimum: 0 JsonApiCollectionBaseSchemaNoPagination: type: object properties: links: type: object properties: self: type: string format: iri-reference example: self: string meta: type: object properties: totalItems: type: integer minimum: 0 data: type: array required: - data Company.csv: type: object properties: id: type: string format: uuid name: type: - string - 'null' externalId: type: string Company.jsonapi: properties: data: type: object properties: id: type: string type: type: string attributes: $ref: '#/components/schemas/Company' required: - type - id Error.jsonapi: properties: errors: type: array items: allOf: - $ref: '#/components/schemas/Error' - type: object properties: source: type: object status: type: string Company: type: object properties: id: type: string format: uuid name: type: - string - 'null' externalId: type: string Error: type: object description: A representation of common errors. properties: id: type: - string - 'null' title: readOnly: true description: A short, human-readable summary of the problem. type: - string - 'null' detail: readOnly: true description: A human-readable explanation specific to this occurrence of the problem. type: - string - 'null' status: type: - number - 'null' examples: - 404 default: 400 instance: readOnly: true description: A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. type: - string - 'null' type: readOnly: true description: A URI reference that identifies the problem type type: string meta: type: object source: type: object properties: pointer: type: string parameter: type: string header: type: string securitySchemes: JWT: type: apiKey description: Value for the Authorization header parameter. name: Authorization in: header