openapi: 3.0.1 info: title: OData Service for namespace DefaultNs description: This OData service is located at http://localhost version: 1.0.1 servers: - url: http://localhost paths: /People: get: tags: - People summary: Get entities from People parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/count' - name: $orderby in: query description: Order items by property values schema: uniqueItems: true type: array items: enum: - UserName - UserName desc - HomeAddress - HomeAddress desc - WorkAddress - WorkAddress desc - Addresses - Addresses desc type: string - name: $select in: query description: Select properties to be returned schema: uniqueItems: true type: array items: enum: - UserName - HomeAddress - WorkAddress - Addresses type: string - name: $expand in: query description: Expand related entities schema: uniqueItems: true type: array items: enum: - '*' type: string responses: '200': description: Retrieved entities content: application/json: schema: title: Collection of Person type: object properties: value: type: array items: $ref: '#/components/schemas/DefaultNs.Person' default: $ref: '#/components/responses/error' post: tags: - People summary: Add new entity to People requestBody: description: New entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.Person' required: true responses: '201': description: Created entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.Person' default: $ref: '#/components/responses/error' '/People(''{UserName}'')': get: tags: - People summary: Get entity from People by key parameters: - name: UserName in: path description: 'key: UserName' required: true schema: type: string - name: $select in: query description: Select properties to be returned schema: uniqueItems: true type: array items: enum: - UserName - HomeAddress - WorkAddress - Addresses type: string - name: $expand in: query description: Expand related entities schema: uniqueItems: true type: array items: enum: - '*' type: string responses: '200': description: Retrieved entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.Person' default: $ref: '#/components/responses/error' patch: tags: - People summary: Update entity in People parameters: - name: UserName in: path description: 'key: UserName' required: true schema: type: string requestBody: description: New property values content: application/json: schema: $ref: '#/components/schemas/DefaultNs.Person' required: true responses: '204': description: Success default: $ref: '#/components/responses/error' delete: tags: - People summary: Delete entity from People parameters: - name: UserName in: path description: 'key: UserName' required: true schema: type: string - name: If-Match in: header description: ETag schema: type: string responses: '204': description: Success default: $ref: '#/components/responses/error' /City: get: tags: - City summary: Get entities from City parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/count' - name: $orderby in: query description: Order items by property values schema: uniqueItems: true type: array items: enum: - Name - Name desc type: string - name: $select in: query description: Select properties to be returned schema: uniqueItems: true type: array items: enum: - Name type: string - name: $expand in: query description: Expand related entities schema: uniqueItems: true type: array items: enum: - '*' type: string responses: '200': description: Retrieved entities content: application/json: schema: title: Collection of City type: object properties: value: type: array items: $ref: '#/components/schemas/DefaultNs.City' default: $ref: '#/components/responses/error' post: tags: - City summary: Add new entity to City requestBody: description: New entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.City' required: true responses: '201': description: Created entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.City' default: $ref: '#/components/responses/error' '/City(''{Name}'')': get: tags: - City summary: Get entity from City by key parameters: - name: Name in: path description: 'key: Name' required: true schema: type: string - name: $select in: query description: Select properties to be returned schema: uniqueItems: true type: array items: enum: - Name type: string - name: $expand in: query description: Expand related entities schema: uniqueItems: true type: array items: enum: - '*' type: string responses: '200': description: Retrieved entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.City' default: $ref: '#/components/responses/error' patch: tags: - City summary: Update entity in City parameters: - name: Name in: path description: 'key: Name' required: true schema: type: string requestBody: description: New property values content: application/json: schema: $ref: '#/components/schemas/DefaultNs.City' required: true responses: '204': description: Success default: $ref: '#/components/responses/error' delete: tags: - City summary: Delete entity from City parameters: - name: Name in: path description: 'key: Name' required: true schema: type: string - name: If-Match in: header description: ETag schema: type: string responses: '204': description: Success default: $ref: '#/components/responses/error' /CountryOrRegion: get: tags: - CountryOrRegion summary: Get entities from CountryOrRegion parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/count' - name: $orderby in: query description: Order items by property values schema: uniqueItems: true type: array items: enum: - Name - Name desc type: string - name: $select in: query description: Select properties to be returned schema: uniqueItems: true type: array items: enum: - Name type: string - name: $expand in: query description: Expand related entities schema: uniqueItems: true type: array items: enum: - '*' type: string responses: '200': description: Retrieved entities content: application/json: schema: title: Collection of CountryOrRegion type: object properties: value: type: array items: $ref: '#/components/schemas/DefaultNs.CountryOrRegion' default: $ref: '#/components/responses/error' post: tags: - CountryOrRegion summary: Add new entity to CountryOrRegion requestBody: description: New entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.CountryOrRegion' required: true responses: '201': description: Created entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.CountryOrRegion' default: $ref: '#/components/responses/error' '/CountryOrRegion(''{Name}'')': get: tags: - CountryOrRegion summary: Get entity from CountryOrRegion by key parameters: - name: Name in: path description: 'key: Name' required: true schema: type: string - name: $select in: query description: Select properties to be returned schema: uniqueItems: true type: array items: enum: - Name type: string - name: $expand in: query description: Expand related entities schema: uniqueItems: true type: array items: enum: - '*' type: string responses: '200': description: Retrieved entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.CountryOrRegion' default: $ref: '#/components/responses/error' patch: tags: - CountryOrRegion summary: Update entity in CountryOrRegion parameters: - name: Name in: path description: 'key: Name' required: true schema: type: string requestBody: description: New property values content: application/json: schema: $ref: '#/components/schemas/DefaultNs.CountryOrRegion' required: true responses: '204': description: Success default: $ref: '#/components/responses/error' delete: tags: - CountryOrRegion summary: Delete entity from CountryOrRegion parameters: - name: Name in: path description: 'key: Name' required: true schema: type: string - name: If-Match in: header description: ETag schema: type: string responses: '204': description: Success default: $ref: '#/components/responses/error' /Me: get: tags: - Me summary: Get Me parameters: - name: $select in: query description: Select properties to be returned schema: uniqueItems: true type: array items: enum: - UserName - HomeAddress - WorkAddress - Addresses type: string - name: $expand in: query description: Expand related entities schema: uniqueItems: true type: array items: enum: - '*' type: string responses: '200': description: Retrieved entity content: application/json: schema: $ref: '#/components/schemas/DefaultNs.Person' default: $ref: '#/components/responses/error' patch: tags: - Me summary: Update Me requestBody: description: New property values content: application/json: schema: $ref: '#/components/schemas/DefaultNs.Person' required: true responses: '204': description: Success default: $ref: '#/components/responses/error' components: schemas: DefaultNs.Color: title: Color enum: - Blue - White type: string description: Enum type 'Color' description. DefaultNs.Person: title: Person type: object properties: UserName: type: string HomeAddress: $ref: '#/components/schemas/DefaultNs.Address' WorkAddress: $ref: '#/components/schemas/DefaultNs.Address' Addresses: type: array items: $ref: '#/components/schemas/DefaultNs.Address' DefaultNs.City: title: City type: object properties: Name: type: string DefaultNs.CountryOrRegion: title: CountryOrRegion type: object properties: Name: type: string DefaultNs.Address: title: Address type: object properties: Id: maximum: 2147483647 minimum: -2147483648 type: integer format: int32 City: $ref: '#/components/schemas/DefaultNs.City' DefaultNs.WorkAddress: allOf: - $ref: '#/components/schemas/DefaultNs.Address' - title: WorkAddress type: object properties: CountryOrRegion: $ref: '#/components/schemas/DefaultNs.CountryOrRegion' odata.error: required: - error type: object properties: error: $ref: '#/components/schemas/odata.error.main' odata.error.main: required: - code - message type: object properties: code: type: string message: type: string target: type: string details: type: array items: $ref: '#/components/schemas/odata.error.detail' innererror: type: object description: The structure of this object is service-specific odata.error.detail: required: - code - message type: object properties: code: type: string message: type: string target: type: string responses: error: description: error content: application/json: schema: $ref: '#/components/schemas/odata.error' parameters: top: name: $top in: query description: Show only the first n items schema: minimum: 0 type: integer example: 50 skip: name: $skip in: query description: Skip the first n items schema: minimum: 0 type: integer count: name: $count in: query description: Include count of items schema: type: boolean filter: name: $filter in: query description: Filter items by property values schema: type: string search: name: $search in: query description: Search items by search phrases schema: type: string tags: - name: People description: People's description. - name: City - name: CountryOrRegion - name: Me