openapi: 3.2.0 info: title: Nooks Sequencing Call Dispositions API version: 0.1.0 description: The Nooks Sequencing API provides programmatic access to manage sequences, tasks, templates, and prospect engagement workflows created using the Nooks SEP. contact: name: Nooks API Support email: support@nooks.in url: https://www.nooks.in license: name: Proprietary x-logo: url: ./nooks-logo.svg altText: Nooks Logo href: https://www.nooks.ai servers: - url: https://partner-api.nooks.in/v1 description: Production API security: - BearerAuth: [] tags: - name: Call Dispositions description: Access call disposition definitions paths: /callDispositions: get: operationId: listCallDispositions summary: List call dispositions description: 'Returns a paginated list of call dispositions for the workspace. Only dispositions with type `nooks_sep` are returned. Example: ```bash curl -X GET ''https://partner-api.nooks.in/v1/callDispositions?page[size]=50'' \ -H "Authorization: Bearer nooks-api-..." ``` Filter by name: ```bash curl -X GET ''https://partner-api.nooks.in/v1/callDispositions?filter[name]=Connected'' \ -H "Authorization: Bearer nooks-api-..." ``` Filter by IDs: ```bash curl -X GET ''https://partner-api.nooks.in/v1/callDispositions?filter[id]=UUID1,UUID2'' \ -H "Authorization: Bearer nooks-api-..." ```' tags: - Call Dispositions parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/PageBefore' - $ref: '#/components/parameters/FilterId' - name: filter[name] in: query description: Filter dispositions by exact name match required: false schema: type: string example: Connected responses: '200': description: Successful response content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/CallDisposition' links: $ref: '#/components/schemas/PaginationLinks' example: data: - id: dd0e8400-e29b-41d4-a716-446655440070 name: Connected callOutcome: connected order: 1 createdAt: '2025-10-01T10:00:00.000Z' updatedAt: '2025-10-01T10:00:00.000Z' - id: dd0e8400-e29b-41d4-a716-446655440071 name: Left Voicemail callOutcome: voicemail order: 2 createdAt: '2025-10-01T10:00:00.000Z' updatedAt: '2025-10-01T10:00:00.000Z' links: first: https://partner-api.nooks.in/v1/callDispositions?page[size]=50 prev: null next: null '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' /callDispositions/{id}: get: operationId: getCallDisposition summary: Get call disposition by ID description: 'Returns a single call disposition by its unique identifier. Only dispositions with type `nooks_sep` are accessible. Example: ```bash curl -X GET ''https://partner-api.nooks.in/v1/callDispositions/dd0e8400-e29b-41d4-a716-446655440070'' \ -H "Authorization: Bearer nooks-api-..." ```' tags: - Call Dispositions parameters: - name: id in: path required: true description: Unique identifier for the call disposition schema: type: string format: uuid example: dd0e8400-e29b-41d4-a716-446655440070 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/CallDisposition' example: id: dd0e8400-e29b-41d4-a716-446655440070 name: Connected callOutcome: connected order: 1 createdAt: '2025-10-01T10:00:00.000Z' updatedAt: '2025-10-01T10:00:00.000Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalError' components: schemas: Error: type: object description: Standard error response properties: error: type: object properties: code: type: string description: Error code example: NOT_FOUND message: type: string description: Human-readable error message example: The requested resource was not found traceId: type: string description: 'Request trace identifier for correlating this error with server logs and support requests. Present whenever the request carried a trace context (the normal case); omitted otherwise. ' example: abc123def456 CallDisposition: type: object description: A call disposition definition used to categorize call outcomes properties: id: type: string format: uuid description: Unique identifier for the call disposition example: dd0e8400-e29b-41d4-a716-446655440070 name: type: string description: Display name of the disposition example: Connected callOutcome: type: string description: The call outcome category this disposition maps to example: connected order: type: integer nullable: true description: Sort order for display (null if unordered) example: 1 createdAt: type: string format: date-time description: When the disposition was created example: '2025-10-01T10:00:00.000Z' updatedAt: type: string format: date-time description: When the disposition was last updated example: '2025-10-01T10:00:00.000Z' required: - id - name - callOutcome - order - createdAt - updatedAt PaginationLinks: type: object description: 'Pagination links for navigating through results. Links are returned as relative references (path + query) that should be resolved against the base URL of the request. ' properties: first: type: string format: uri-reference description: URL for the first page example: /v1/sequences?page[size]=50 prev: type: string format: uri-reference nullable: true description: URL for the previous page (null if on first page) example: null next: type: string format: uri-reference nullable: true description: URL for the next page (null if on last page) example: /v1/sequences?page[size]=50&page[after]=eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCIsInYiOjF9 parameters: PageSize: name: page[size] in: query description: Number of items per page (max 100) required: false schema: type: integer minimum: 1 maximum: 100 default: 50 example: 50 FilterId: name: filter[id] in: query description: Filter by IDs (comma-separated UUIDs). An empty value is treated as "no filter". required: false schema: type: string pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(,[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})*)?$ example: 550e8400-e29b-41d4-a716-446655440000,660e8400-e29b-41d4-a716-446655440001 PageBefore: name: page[before] in: query description: 'Cursor for fetching the previous page. Opaque token returned by the API in `links.prev`; callers should treat it as opaque and only pass values they received from a previous response. Malformed cursors return `400 Bad Request`. ' required: false schema: type: string example: eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCIsInYiOjF9 PageAfter: name: page[after] in: query description: 'Cursor for fetching the next page. Opaque token returned by the API in `links.next`; callers should treat it as opaque and only pass values they received from a previous response. Malformed cursors return `400 Bad Request`. ' required: false schema: type: string example: eyJpZCI6IjU1MGU4NDAwLWUyOWItNDFkNC1hNzE2LTQ0NjY1NTQ0MDAwMCIsInYiOjF9 responses: BadRequest: description: Bad request - invalid parameters content: application/json: schema: $ref: '#/components/schemas/Error' example: error: code: BAD_REQUEST message: Invalid page[after] cursor NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' example: error: code: NOT_FOUND message: The requested resource was not found Unauthorized: description: Unauthorized - invalid or missing API key content: application/json: schema: $ref: '#/components/schemas/Error' example: error: code: UNAUTHORIZED message: Invalid or missing API key InternalError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' example: error: code: INTERNAL_ERROR message: An unexpected error occurred securitySchemes: BearerAuth: type: http scheme: bearer description: 'Bearer token sent in the `Authorization` header. Accepts either a long-lived Nooks API key (`nooks-api-...`, from Developer Settings → API Keys) or an OAuth 2.0 access token issued by `https://oauth.nooks.in`. Use whichever you already have — the API validates both formats on the same header. For full OAuth flow details (authorize/token endpoints, scopes, refresh behavior) see the Authentication section of this spec''s introduction. ' x-tagGroups: - name: API Reference tags: - Sequences - SequenceSteps - Emails - Users - SequenceStates - Prospects - Accounts - Notes - Mailboxes - Calls - CallDispositions - Tasks - EmailTemplates - Introspection