openapi: 3.2.0 info: title: Ads Manager Organizations API description: Ads Manager API version: 1.0.0 servers: - url: https://api-public.groundtruth.com description: Production tags: - name: Organizations paths: /organizations: get: tags: - Organizations summary: Get Organizations description: Gets organizations in a tenant operationId: get_organizations security: - api-key: [] - user-id: [] - session: [] parameters: - name: limit in: query required: false schema: type: integer maximum: 100 exclusiveMinimum: 1 description: Number of organizations to limit response to default: 10 title: Limit description: Number of organizations to limit response to - name: page_num in: query required: false schema: type: integer minimum: 1 description: Page number to retrieve. Starts at 1. default: 1 title: Page Num description: Page number to retrieve. Starts at 1. - name: sort_order in: query required: false schema: $ref: '#/components/schemas/SortOrder' description: Sorts organizations by name default: asc description: Sorts organizations by name - name: updated_since in: query required: false schema: anyOf: - type: integer - type: 'null' description: Limits results to organization updated since a unix timestamp title: Updated Since description: Limits results to organization updated since a unix timestamp - name: tenant_id in: query required: true schema: type: integer title: Tenant Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrganizationsModel' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Bad Request '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Unauthorized '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Forbidden '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Not Found '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Internal Server Error post: tags: - Organizations summary: Create Organization description: Creates an organization operationId: create_organization security: - api-key: [] - user-id: [] - session: [] parameters: - name: tenant_id in: query required: true schema: type: integer title: Tenant Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateOrUpdateOrganizationModel' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrganizationModel' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Bad Request '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Unauthorized '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Forbidden '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Not Found '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Internal Server Error /organizations/{organization_id}: get: tags: - Organizations summary: Get Organization description: Gets an organization operationId: get_organization security: - api-key: [] - user-id: [] - session: [] parameters: - name: organization_id in: path required: true schema: type: integer title: Organization Id - name: tenant_id in: query required: true schema: type: integer title: Tenant Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrganizationModel' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Bad Request '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Unauthorized '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Forbidden '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Not Found '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Internal Server Error put: tags: - Organizations summary: Update Organization description: Updates an organization operationId: update_organization security: - api-key: [] - user-id: [] - session: [] parameters: - name: organization_id in: path required: true schema: type: integer title: Organization Id - name: tenant_id in: query required: true schema: type: integer title: Tenant Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateOrUpdateOrganizationModel' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrganizationModel' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Bad Request '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Unauthorized '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Forbidden '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Not Found '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Internal Server Error delete: tags: - Organizations summary: Delete Organization description: Deletes an organization operationId: delete_organization security: - api-key: [] - user-id: [] - session: [] parameters: - name: organization_id in: path required: true schema: type: integer title: Organization Id - name: tenant_id in: query required: true schema: type: integer title: Tenant Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SuccessResponseModel' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Bad Request '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Unauthorized '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Forbidden '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Not Found '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponseModel' description: Internal Server Error components: schemas: OrganizationModel: properties: id: type: integer title: Id tenant_id: type: integer title: Tenant Id name: type: string title: Name created_date: anyOf: - type: string format: date-time - type: 'null' title: Created Date updated_date: anyOf: - type: string format: date-time - type: 'null' title: Updated Date type: object required: - id - tenant_id - name title: OrganizationModel OrganizationsModel: properties: total_count: type: integer title: Total Count limit: type: integer title: Limit page_num: type: integer title: Page Num total_pages: type: integer title: Total Pages has_next_page: type: boolean title: Has Next Page has_prev_page: type: boolean title: Has Prev Page items: items: $ref: '#/components/schemas/OrganizationModel' type: array title: Items type: object required: - total_count - limit - page_num - total_pages - has_next_page - has_prev_page - items title: OrganizationsModel ErrorModel: properties: code: type: string title: Code message: type: string title: Message fields: anyOf: - items: type: string type: array - type: 'null' title: Fields type: object required: - code - message - fields title: ErrorModel SortOrder: oneOf: - const: desc title: DESC - const: asc title: ASC type: string enum: - desc - asc title: SortOrder x-enum-varnames: - DESC - ASC ErrorResponseModel: properties: errors: items: $ref: '#/components/schemas/ErrorModel' type: array title: Errors type: object required: - errors title: ErrorResponseModel CreateOrUpdateOrganizationModel: properties: name: type: string maxLength: 128 minLength: 1 title: Name type: object required: - name title: CreateOrUpdateOrganizationModel SuccessResponseModel: properties: success: type: boolean title: Success default: true type: object title: SuccessResponseModel securitySchemes: api-key: type: apiKey in: header name: x-gt-api-key user-id: type: apiKey in: header name: x-gt-user-id