---
agentTools:
  projectIndex: https://troops.readme.io/llms.txt
---

# List of the job descriptions

List of the job descriptions

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Introduction",
    "version": "1.0.0",
    "description": "The Troops Integration API is organized around\n[REST](https://en.wikipedia.org/wiki/Representational_state_transfer). It\nallows you to query and manipulate the following resources within your TEA\ntree:\n\n- Candidates and their related assets.\n- TEAs\n- Certain references:\n  - Business sectors\n  - Countries\n  - Jobs\n- Paychecks\n- Evolia syncing\n"
  },
  "paths": {
    "/api/v1/integrations/job-descriptions": {
      "get": {
        "tags": [
          "Job descriptions"
        ],
        "description": "List of the job descriptions",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Before"
          },
          {
            "$ref": "#/components/parameters/After"
          },
          {
            "in": "query",
            "name": "filters",
            "description": "Array of filters",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "agencies": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UUID"
                  }
                },
                "clients": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UUID"
                  }
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "archived",
                    "published"
                  ]
                },
                "search": {
                  "type": "string",
                  "example": "Normes",
                  "description": "Makes search by job description title"
                }
              }
            }
          },
          {
            "in": "query",
            "name": "sorting",
            "description": "Array of sorting",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "enum": [
                    "asc",
                    "desc"
                  ]
                },
                "created_at": {
                  "type": "string",
                  "enum": [
                    "asc",
                    "desc"
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returned in case request was handled successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "$ref": "#/components/schemas/UUID"
                            },
                            "title": {
                              "type": "string",
                              "example": "Test Job Description"
                            },
                            "created_at": {
                              "$ref": "#/components/schemas/Timestamp"
                            },
                            "state": {
                              "type": "string",
                              "enum": [
                                "draft",
                                "archived",
                                "published"
                              ],
                              "example": "draft"
                            },
                            "agency": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "$ref": "#/components/schemas/UUID"
                                },
                                "title": {
                                  "type": "string",
                                  "example": "Job Interim"
                                }
                              }
                            },
                            "is_public": {
                              "type": "boolean"
                            },
                            "client": {
                              "type": "object",
                              "nullable": true,
                              "properties": {
                                "id": {
                                  "$ref": "#/components/schemas/UUID"
                                },
                                "title": {
                                  "type": "string",
                                  "example": "Carrefour Market Lyon 8"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationCursorBased"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "summary": "List of the job descriptions"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "The entire API is authenticated, so to use it you will require an API\nkey. To acquire one, please send a request to your account manager at\nTroops or to help@troops.fr.\n\nWhen making requests, you need to specify the API key using the Bearer\nscheme in the Authorization header, e.g. `Authorization: Bearer\nthis-is-my-secret-token`.\n\nYour API keys carry many privileges, so be sure to keep them secure! Do\nnot share your secret API keys in publicly accessible areas such as\nGitHub, client-side code, and so forth.\n\nAll API requests must be made over HTTPS. Calls made over plain HTTP\nwill fail. API requests without authentication will also fail.\n"
      }
    },
    "schemas": {
      "UUID": {
        "type": "string",
        "format": "uuid",
        "description": "UUID",
        "example": "123e4567-e89b-12d3-a456-426655440000"
      },
      "Timestamp": {
        "type": "integer",
        "description": "timestamp",
        "example": 1558202400
      },
      "PaginationCursorBased": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Total amount of entries",
            "example": 30
          },
          "next": {
            "type": "string",
            "nullable": true,
            "description": "Cursor for the next page",
            "example": "TQ5ZjgtOTJiNC1kZjc3ODcwMmQ4ZjIiLCIxMCI="
          },
          "prev": {
            "type": "string",
            "nullable": true,
            "description": "Cursor for the previous page",
            "example": "FcvbxbFpmsD4fKI2vsWpxDcUJypIAvIk139A=="
          }
        }
      }
    },
    "parameters": {
      "Limit": {
        "in": "query",
        "name": "limit",
        "description": "Number of entries per page",
        "example": 10,
        "schema": {
          "type": "integer",
          "minimum": 0
        }
      },
      "Before": {
        "in": "query",
        "name": "before",
        "description": "Cursor to limit the results at the end",
        "example": "86a9875e7ef94c2585fc==",
        "schema": {
          "type": "string"
        }
      },
      "After": {
        "in": "query",
        "name": "after",
        "description": "Cursor to limit the results at the beginning",
        "example": "86a9875e7ef94c2585fc==",
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "Returned in case authentication is lacking, invalid or expired"
      },
      "NotFound": {
        "description": "Returned in case the requested item can not be found"
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "servers": [
    {
      "url": "https://api-staging.troops.fr",
      "description": "PreProduction (Staging) server"
    },
    {
      "url": "https://api.troops.fr",
      "description": "Production server"
    },
    {
      "url": "https://api-dev.troops.online",
      "description": "Development server"
    },
    {
      "url": "https://api-{envID}.troops.online",
      "description": "Development server (Dynamic feature env)",
      "variables": {
        "envID": {
          "default": "dev",
          "description": "dev, r-********, 1202004111967626"
        }
      }
    }
  ],
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "_id": {
    "buffer": {
      "0": 101,
      "1": 184,
      "2": 241,
      "3": 90,
      "4": 97,
      "5": 249,
      "6": 184,
      "7": 0,
      "8": 76,
      "9": 125,
      "10": 22,
      "11": 209
    }
  }
}
```